#P2552. 【模板】拓扑排序

【模板】拓扑排序

题目背景

模板题目,多敲几遍,要理解里面代码的含义。建议到原链接进行提交。

原题🔗:848. 有向图的拓扑序列 - AcWing题库

题目描述

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

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

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

输入格式

第一行包含两个整数 nm

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

输出格式

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

否则输出-1

样例

3 3
1 2
2 3
1 3
1 2 3