Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:256 MB

#7404. 拓扑排序

统计

题目描述

给出n个点(n<=1000)给出m条有向边(m<=1000);按照拓扑排序顺序输出点的编号,如果遇到环,则输出-1

输入格式

第一行2个整数n和m

第二行开始连续m行,每行2个整数x和y,表示x这个点有一条指向y这个点的边

输出格式

按照拓扑排序输出每个点的编号。数字之间有1个空格,如果有多个点都是0入度,则按照数字顺序输出。

样例

input1

3 2
1 2
2 3

output1

1 2 3

input2

3 3
1 2
2 3
3 2

output2

-1

提示

由于在拓扑的过程中有环存在,随意不能找到一个入度为0就直接输出。可以把入度为0 的点先存放到一个数组中。最后看有没有环,有哨兵为假,不输出,没有哨兵默认为真输出。