第十一章 图论

题目描述:

阿里这学期修了计算机组织和架构课程。他了解到指令之间可能存在依赖关系,比如WAR(读后写)、WAW、RAW。

如果两个指令之间的距离小于安全距离,则会导致危险,从而可能导致错误的结果。因此,我们需要设计特殊的电路来消除危险。

然而,解决这个问题最简单的方法是添加气泡(无用操作),这意味着浪费时间来确保两条指令之间的距离不小于安全距离。两条指令之间的距离的定义是它们开始时间之间的差异。

现在我们有很多指令,我们知道指令之间的依赖关系和安全距离。我们还有一个非常强大的CPU,具有无限数量的内核,因此您可以同时运行任意数量的指令,而且CPU速度非常快,完成任何指令只需花费1ns。

你的工作是重新排列指令,这样CPU就可以在最短的时间内完成所有指令。

输入:

输入由几个测试用例组成。

第一行有两个整数N,M(N<=1000,M<=10000),表示有N个指令和M个依赖关系。

以下M行,每行包含三个整数X、Y、Z,表示X和Y之间的安全距离为Z,Y应在X之后运行。指令的编号从0到N-1。

输出:

打印一个整数,即CPU运行所需的最短时间。

相关推荐
故事和你9114 小时前
洛谷-【图论2-1】树4
开发语言·数据结构·c++·算法·动态规划·图论
故事和你9114 小时前
洛谷-【图论2-1】树1
开发语言·数据结构·c++·算法·深度优先·动态规划·图论
YuanDaima204819 小时前
图论基础原理与题目说明
数据结构·人工智能·python·算法·图论·手撕代码
hnjzsyjyj2 天前
洛谷 T145300:这是一棵树吗? ← 图论握手定理
图论·握手定理
故事和你912 天前
洛谷-【图论2-1】树2
开发语言·数据结构·c++·算法·动态规划·图论
刀法如飞2 天前
Ontology本体论是什么数据结构?Palantir 技术原理介绍
数据结构·人工智能·ai编程·图论
khalil10203 天前
代码随想录算法训练营Day-50 图论02 | 99.岛屿数量-深搜、99.岛屿数量-广搜 、100.岛屿的最大面积
数据结构·c++·算法·leetcode·深度优先·图论
khalil10204 天前
代码随想录算法训练营Day-49 图论01 | 图论理论基础、深搜理论基础、98. 所有可达路径、广搜理论基础
c++·算法·leetcode·深度优先·图论
洛水水4 天前
【力扣100题】27. 二叉树的最大深度
算法·leetcode·图论
故事和你914 天前
洛谷-【数据结构2-2】线段树2
开发语言·数据结构·算法·动态规划·图论