第十一章 图论

题目描述:

阿里这学期修了计算机组织和架构课程。他了解到指令之间可能存在依赖关系,比如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运行所需的最短时间。

相关推荐
hnjzsyjyj11 小时前
洛谷 P11230:[CSP-J 2024 T4] 接龙 ← 图论+动态规划
动态规划·图论
菜鸟5555514 小时前
图论:SPFA算法
算法·图论
xindafu1 天前
代码随想录算法训练营第五十七天|图论part7
图论
皮蛋瘦肉粥_1211 天前
代码随想录day51图论2
图论
limitless_peter1 天前
图论(BFS)构造邻接表(运用队列实现搜索)
算法·图论
小指纹1 天前
图论-最短路 Bellman-Ford算法
c++·算法·objective-c·图论
Ahu_iii1 天前
【图论基础】理解图的“闭环”:Tarjan 强连通分量算法全解析
算法·图论
小蛋编程4 天前
【算法-图论】图的存储
c++·算法·图论
今天你睡了嘛4 天前
数据结构——图(二、图的存储和基本操作)
数据结构·算法·图论
KyollBM4 天前
【CF】Day114——杂题 (贪心 + 图论 | LCM + 贪心 | 最大最小子序列 + 图论)
算法·图论