【模板】拓扑排序
题号:NC233502
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

给定一个包含n个点m条边的有向无环图,求出该图的拓扑序。若图的拓扑序不唯一,输出任意合法的拓扑序即可。若该图不能拓扑排序,输出-1

输入描述:

第一行输入两个整数n,m ( ),表示点的个数和边的条数。
接下来的m行,每行输入两个整数u_i,v_i (),表示u_iv_i之间有一条有向边。

输出描述:

若图存在拓扑序,输出一行n个整数,表示拓扑序。否则输出-1
注意:输出的最后一个数后面不要带空格。
示例1

输入

复制
5 4
1 2
2 3
3 4
4 5

输出

复制
1 2 3 4 5