带权的DAG节点排序
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
DAG 即 Directed Acyclic Graph, 有向无环图. 用DAG可以描述一些有依赖关系的任务组, 而这些任务还有另外一个属性, 即都有一个权重, 标示这个任务的重要性.
我们需要你来实现一个算法, 对DAG里面的节点进行排序, 保证排序不违背DAG的依赖关系, 即一个任务A如果排在任务B前面, 那么在DAG中不能存在由B 到A的路径. 另外一个要求就是, 让权重大的任务尽量优先执行.
输入
在第一行给定 DAG的节点数n和边数e.
后面n行, 每一行是 节点的 标号和权重, seq weight.
最后e行, 每一行是对于边的描述, s t.
样例输入
4 4
1 2
2 3
3 5
4 4
1 2
1 3
2 4
3 4
<div class="outputarea yangli ng-scope" style='box-sizing: border-box; margin: 0px; padding: 0px; font-family: "Microsoft Yahei";' ng-if="model.ques.questype==6 && model.ques.outputSample != null && model.ques.outputSample!=''" "="">
样例输出
1 3 2 4