题目 30116

有向图欧拉路径

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

【题目描述】

本题包含 TT 组测试数据。

给定一个由 NN 个顶点和 MM 条边组成的有向图 GG。第 ii 条边从 uiu_i 指向 viv_i。

图 GG 的一条欧拉路径是满足以下条件的顶点序列 (v0,…,vM)(v_0,\ldots,v_M) 与边序列 (e0,…,eM−1)(e_0,\ldots,e_{M-1}):

  • (e0,…,eM−1)(e_0,\ldots,e_{M-1}) 是 (0,…,M−1)(0,\ldots,M-1) 的一个排列。
  • 对于 0≤i<M−10\leq i < M-1,边 eie_i 从 viv_i 指向 vi+1v_{i+1}。

判断 GG 是否存在欧拉路径;如果存在,输出一条欧拉路径。

【输入】

第一行包含一个整数 TT,表示测试数据组数。

接下来描述 TT 组测试数据。每组测试数据的格式如下:

文本
$N$ $M$
$u_0$ $v_0$
$\vdots$
$u_{M-1}$ $v_{M-1}$

其中,给定一个由 NN 个顶点和 MM 条边组成的有向图,第 ii 条边从 uiu_i 指向 viv_i。

【输出】

如果不存在欧拉路径,输出 No。否则,按照以下格式输出一条欧拉路径:

文本
Yes
$v_0$ $\ldots$ $v_{M}$
$e_0$ $\ldots$ $e_{M-1}$

【输入样例】

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

【输出样例】

文本
Yes
2 0 1 3 0 2 3 3
1 0 4 3 2 5 6
No
Yes
1 2 3 1 5 1 4 4 0 3 2
1 5 6 9 3 8 4 2 0 7

【输入样例2】

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

【输出样例2】

文本
Yes
0

Yes
0 1
0
Yes
4 4
0
No
Yes
3 6 3
0 1
No

【数据范围】

  • 1≤T≤1000001 \leq T \leq 100000
  • 1≤N≤2000001 \leq N \leq 200000
  • 0≤M≤2000000 \leq M \leq 200000
  • 0≤ui,vi<N0 \leq u_i, v_i \lt N
  • 所有测试数据中 NN 的总和不超过 200000200000。
  • 所有测试数据中 MM 的总和不超过 200000200000。

【来源】

Library Checker(yosupo06) eulerian_trail_directed

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

数据下载

题目 30116 的公开数据

正在读取文件列表…

常用命令

题目 30116 的 ROJ 命令

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