题目 30110

无向图找环

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

【题目描述】

给定一个无向图 GG,它由 NN 个顶点和 MM 条边组成。 第 ii 条边连接顶点 uiu_i 和 viv_i。 该图不一定是简单图。

一个环是由顶点序列 (v0,…,vL−1)(v_0, \ldots, v_{L-1}) 和边序列 (e0,…,eL−1)(e_0, \ldots, e_{L-1}) 构成的二元组,并满足以下条件:

  • L≥1L\geq 1
  • i≠j  ⟹  vi≠vj,ei≠eji\neq j \implies v_i\neq v_j, e_i\neq e_j
  • 对于 0≤i<L−10\leq i < L- 1,边 eie_i 连接 viv_i 和 vi+1v_{i+1}
  • 边 eL−1e_{L-1} 连接 vL−1v_{L-1} 和 v0v_{0}

判断 GG 中是否存在环,如果存在则输出一个环。 如果存在多个环,输出任意一个即可。

【输入】

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

【输出】

如果不存在环,输出 -1。否则按照以下格式输出其中一个环。

文本
$L$
$v_0$ $v_1$ $\ldots$ $v_{L-1}$
$e_0$ $e_1$ $\ldots$ $e_{L-1}$

【输入样例】

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

【输出样例】

文本
4
3 1 2 0
3 4 0 1

【输入样例2】

文本
10 1
3 3

【输出样例2】

文本
1
3
0

【输入样例3】

文本
10 3
3 5
3 5
5 3

【输出样例3】

文本
2
5 3
0 1

【输入样例4】

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

【输出样例4】

文本
-1

【输入样例5】

文本
6 0

【输出样例5】

文本
-1

【数据范围】

  • 1≤N≤5000001 \leq N \leq 500000
  • 0≤M≤5000000 \leq M \leq 500000
  • 0≤ui<N0 \leq u_i \lt N
  • 0≤vi<N0 \leq v_i \lt N

【来源】

Library Checker(yosupo06) cycle_detection_undirected

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

数据下载

题目 30110 的公开数据

正在读取文件列表…

常用命令

题目 30110 的 ROJ 命令

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