#53. 拓扑排序
拓扑排序
问题描述
给定一个 个点 条边的有向图,点的编号 。图中可能有重边和自环。
请输出该有向图中字典序最小的拓扑序列,若拓扑序列不存在,输出 -1。
拓扑序列 或 拓扑排序 是针对一个有向无环图(DAG)的节点排序,它满足以下条件:
- 对于图中的每一条边 ,节点 在序列中必须出现在节点 之前。换句话说,拓扑序列确保所有的依赖关系都满足,即每个节点的所有前驱节点都在其之前出现在序列中。
输入格式
第一行输入两个正整数 ,表示点数和边数。
接下来输入 行,每行两个正整数 。表示点 到 有一条有向边。
输出格式
输出有向图的字典序最小的拓扑序列,若其不存在则输出 -1。
样例输入
4 4
1 2
2 3
3 4
2 4
样例输出
1 2 3 4
说明
是符合题目要求且字典序最小的拓扑序列。