#140. 拓扑排序

拓扑排序

题目描述

输入一张 nn 节点 mm 条边的有向图,用求该图的一个拓扑排序的方式判断该图是否存在有向环,若有拓扑排序,输出拓扑排序,并输出loop not exist.,否则直接输出loop exist.

输入格式

第一行两个正整数 n,mn,m,表示节点数和边数。

接下来 mm 行,每行 2 个正整数 x,yx,y 表示节点 xxyy 之间有一条边。

输出格式

如果存在拓扑排序,先输出一行loop not exist.,然后在下一行输出拓扑排序,按拓扑序输出节点的编号,用空格隔开, 任意一种合法的排序均可

若无拓扑序,则直接输出loop exist.

样例

7 8
1 2
1 3
2 3
3 4
3 5
4 6
5 6
5 7
loop not exist.
1 2 3 4 5 6 7
7 8
1 2
2 3
3 1
3 4
3 5
4 6
5 6
5 7
loop exist.

数据范围

对于 100% 的测试数据满足:1N10001M1061≤N≤1000,1≤M≤10^6