合法的顺序为什么不止一种

同一批依赖,我排出一个顺序,你排出另一个,两个都对。原因是【0】。

开始练习 →

两个顺序都合法拿什么判

批改一份拓扑排序的作业,学生给的顺序和参考答案不一样。判断他对不对,看的是【0】。

开始练习 →

合法的顺序一共有几种

七个构建任务编号 0~6,(a, b) 表示 a 做完才能做 b。 运行下面这段程序: #include <algorithm> #include <climits> #include <iostream>

开始练习 →

多一条依赖就排不全了

七个构建任务编号 0~6,(a, b) 表示 a 做完才能做 b。 再给它加上一条 5 → 3,然后两张图各排一次,各输出排出来的个数: #include <algorithm> #include <climits>

开始练习 →

自己写:数合法顺序有几种

七个构建任务编号 0~6,(a, b) 表示 a 做完才能做 b。 补全 ok:判断一个排列是不是合法的拓扑序,然后数出一共有几种。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

自己写:靠排出的个数判环

七个构建任务编号 0~6,(a, b) 表示 a 做完才能做 b。 补全 kahn 里放后继的那两步,让它返回排出来的顺序。两张图各跑一次:原图,以及加上 5 → 3 的那张,各输出排出来的个数。 (本题用 g++ -std=c++17 -

开始练习 →

自己写:哪几对的先后自由

七个构建任务编号 0~6,(a, b) 表示 a 做完才能做 b。 RE[u][v] 表示从 u 顺着箭头能走到 v。找出所有互相都走不到的点对——这些对的先后没被任何依赖规定。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

构建工具为何先建依赖图

第 1 步:依赖做完的任务同时开工 第 2 步:第 1 轮:A 第 3 步:第 2 轮:B、C 第 4 步:第 3 轮:D 第 5 步:第 4 轮:E 第 6 步:五个任务,四轮做完 A B D E C 1 2 2 3 4 构建工具拿到一堆

开始练习 →

机器不限时总轮数看什么

依赖都做完的任务可以同时开工。这种情况下,总共要几轮取决于【0】。

开始练习 →

再加机器能不能更快

已经是「依赖做完就能开工」了。这时候再加一倍机器,总轮数【0】。

开始练习 →