【题目描述】
给定一张由 N 个顶点和 M 条边组成的图。
第 i 条边从顶点 ui 指向顶点 vi。
请找出并报告给定图中的一条边不相交的环,或者报告不存在这样的环。
若有多个环,输出其中任意一个。
【输入】
文本
$N$ $M$
$u_0$ $v_0$
$u_1$ $v_1$
$u_2$ $v_2$
$\vdots$
$u_{M-1}$ $v_{M-1}$
【输出】
若不存在环,输出 -1。
否则按以下格式输出其中一个环。ei 表示所使用的第 i 条边的编号。注意 (e0,e1,…,eL−1) 必须构成一个环,且若 i=j,则 ei 不能等于 ej。
文本
$L$
$e_0$
$e_1$
$\vdots$
$e_{L-1}$
【输入样例】
文本
5 7
0 3
0 4
4 2
4 3
4 0
2 1
1 0
【输出样例】
例如,L=2,e=(1,4) 同样是合法的答案。
【输入样例2】
【输出样例2】
【输入样例3】
文本
4 6
0 1
1 2
2 0
0 1
1 3
3 0
【输出样例3】
任意边不相交的环(即满足 ei=ej)都可以被接受,因此 L=6,e=(0,1,2,3,4,5) 同样是合法的答案。
注意 L=6,e=(0,1,2,0,4,5) 不是合法的答案。
【数据范围】
- 2≤N≤500000
- 1≤M≤500000
- 0≤ui<N
- 0≤vi<N
- ui=vi
【来源】
Library Checker(yosupo06) cycle_detection
本题为 special judge(输出任意合法解),暂不可本地评测。