Responsive image

问题 2488 --有向图的拓扑排序

2488: 有向图的拓扑排序

时间限制: 1 Sec  内存限制: 64 MB
提交: 0  解决: 2
[提交][状态][讨论版][命题人:]

题目描述

给定一个 n 个点 m 条边的有向图,点的编号是 1 到 n,图中可能存在重边和自环。(1≤n,m≤1e5)

请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1

若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y)x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。

输入描述

第一行包含两个整数 n 和 m

接下来 m 行,每行包含两个整数 x 和 y,表示存在一条从点 x 到点 y 的有向边 (x,y)

输出描述

共一行,如果存在拓扑序列,则输出任意一个合法的拓扑序列即可。

否则输出 −1

样例输入

3 3
1 2
2 3
1 3

样例输出

1 2 3

提示

拓扑序列答案不唯一。

来源

[提交][状态]
ACM算法攻关部