Skip to content

Latest commit

 

History

History

0848

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

题目

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

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

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

输入格式

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

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

输出格式

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

否则输出 $-1$

数据范围

$1 \le n,m \le 10^5$

输入样例:

3 3
1 2
2 3
1 3

输出样例:

1 2 3

题解

前置题目:0847

前置知识:树的存储,队列

本题知识:搜索与图论-拓扑排序

题目分析

有向无环图即拓扑图