题目描述
在复杂的软件开发环境中,模块之间的依赖关系可能非常复杂。因此,为了构建工作的有序进行,现制定构建策略如下:
在执行构建前,先找出依赖图中所有无依赖的模块,进入同一批次。当该批次所有模块都构建完成后,再找出依赖图中所有无依赖的模块,进入同一批次,循环往复,直至所有模块都构建完。
同一批次中的模块按照各自的优先级,从高到低执行,用例保证同一批次中不存在相同优先级的模块。
输出各个批次的模块构建顺序。
输入描述
第一行输入模块数量数量 n,
第二行输入 n 个模块的名称,以及优先级(正整数,值越大优先级越高),格式为
模块名称1:优先级1 模块名称2:优先级2 模块名称3:优先级3 ....
之后输入多行,每行两个模块名称,以空格分隔,前面的模块依赖于后面的模块。
输出描述
输出各个批次的模块构建顺序,每个批次打印一行。