题目 30109

有向图找环

查看题解 ↗GitHub ↗如何评测
题号
30109
时间限制
10000 ms
内存限制
1024 MB
标签
图论
来源
Library Checker (yosupo06) - cycle_detection

【题目描述】

给定一张由 NN 个顶点和 MM 条边组成的图。

第 ii 条边从顶点 uiu_i 指向顶点 viv_i。

请找出并报告给定图中的一条边不相交的环,或者报告不存在这样的环。

若有多个环,输出其中任意一个。

【输入】

文本
$N$ $M$
$u_0$ $v_0$
$u_1$ $v_1$
$u_2$ $v_2$
$\vdots$
$u_{M-1}$ $v_{M-1}$

【输出】

若不存在环,输出 -1。

否则按以下格式输出其中一个环。eie_i 表示所使用的第 ii 条边的编号。注意 (e0,e1,…,eL−1)(e_0, e_1, \ldots, e_{L-1}) 必须构成一个环,且若 i≠ji \neq j,则 eie_i 不能等于 eje_j。

文本
$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

【输出样例】

文本
4
1
2
5
6

例如,L=2,e=(1,4)L = 2, e = (1, 4) 同样是合法的答案。

【输入样例2】

文本
2 1
1 0

【输出样例2】

文本
-1

【输入样例3】

文本
4 6
0 1
1 2
2 0
0 1
1 3
3 0

【输出样例3】

文本
3
0
1
2

任意边不相交的环(即满足 ei≠eje_i \neq e_j)都可以被接受,因此 L=6,e=(0,1,2,3,4,5)L = 6, e = (0, 1, 2, 3, 4, 5) 同样是合法的答案。

注意 L=6,e=(0,1,2,0,4,5)L = 6, e = (0, 1, 2, 0, 4, 5) 不是合法的答案。

【数据范围】

  • 2≤N≤5000002 \leq N \leq 500000
  • 1≤M≤5000001 \leq M \leq 500000
  • 0≤ui<N0 \leq u_i \lt N
  • 0≤vi<N0 \leq v_i \lt N
  • ui≠viu_i \neq v_i

【来源】

Library Checker(yosupo06) cycle_detection

本题为 special judge(输出任意合法解),暂不可本地评测。

数据下载

题目 30109 的公开数据

正在读取文件列表…

常用命令

题目 30109 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。