#P1066. 【模板】拓扑排序

    ID: 78 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 普及+/提高− ← 上一题 下一题 → 随机一题 上传者: 标签 模板题 拓扑排序 图论 优先队列 广度优先搜索 BFS
显示设置

【模板】拓扑排序

题目描述

给出一个 nn 个点、mm 条边的有向图(可能存在重边与自环)。请你求出这张图字典序最小的拓扑序。

若图中存在环,则不存在拓扑序。

输入格式

第一行两个整数 n,mn,m。

接下来 mm 行,每行两个整数 u,vu,v,表示一条从 uu 指向 vv 的有向边。

输出格式

若不存在拓扑序(图中含环),输出一行 -1。

否则输出一行 nn 个整数,为字典序最小的拓扑序,相邻两个数之间用一个空格隔开。

输入输出样例 #1

输入 #1

5 3
2 1
3 1
4 5

输出 #1

2 3 1 4 5

说明

数据范围

  • 对于 100%100\% 的数据,1≤n≤1051\le n\le 10^5,0≤m≤3×1050\le m\le 3\times 10^5,1≤u,v≤n1\le u,v\le n。