搜索与图论 有向图的拓扑序列

有向图的拓扑序列

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

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

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

输入格式
第一行包含两个整数 nm

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

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

否则输出 −1

数据范围
1≤n,m≤105
输入样例:

3 3
1 2
2 3
1 3

输出样例:

1 2 3

你可能感兴趣的:(算法,#,bfs,#,树和图的搜索,图论,算法,拓扑学,c++,bfs)