AT_abc472_e [ABC472E] Odd Cycle
题目描述
给你一个简单连通的无向图,图中有编号为 $1$ 到 $N$ 的 $N$ 个顶点和 $M$ 条边。第 $i$ 条边连接顶点 $a_i$ 和 $b_i$。
请判断是否存在由奇数个顶点组成的环,如果存在,请找出一个这样的环。
形式上,判断是否存在满足以下所有条件的整数序列 $(v_1,v_2, \dots ,v_K)$,如果存在,请找出一个这样的序列。
- $K$ 是至少为 $3$ 的奇数。
- $(v_1,v_2, \dots ,v_K)$ 都是不同的。
- 对于满足 $1\le i \le K$ 的每一个整数 $i$,顶点 $v_i$ 和 $v_{i+1}$ 之间都有一条边,其中 $v_{K+1} = v_1$。
给你 $T$ 个测试用例,请逐一求解。
输入格式
输入内容由标准输入提供,格式如下:
> $T$
$\mathrm{case}_1$
$\mathrm{case}_2$
$\vdots$
$\mathrm{case}_T$
每个测试用例的格式如下:
> $N$ $M$
$a_1$ $b_1$
$a_2$ $b_2$
$\vdots$
$a_M$ $b_M$
输出格式
#### 输出
对于每个测试用例,如果没有满足条件的序列,则输出 `-1`。如果存在,则按以下格式输出一个这样的序列:
> $K$
$v_1$ $v_2$ $\ldots$ $v_K$
如果有多个序列满足条件,则输出任意一个序列即可。
说明/提示
## 样例解释 1
在第一个测试案例中,序列
$(2,1,3)$ 满足条件:边
$(2,1),(1,3),(3,2)$ 全部存在。同时也接受了
$v=(2,3,1)$ 这样的输出。
在第二个测试案例中,不存在顶点数为奇数的环,因此没有序列满足条件。
## 数据范围限制
- $1 \le T \le 2\times10^5$。
- $1 \le N, M \le 2\times10^5$。
- 所有测试用例中
$N$ 的总和最多为 $2\times10^5$。
- 所有测试用例中
$M$ 的总和最多为 $2\times10^5$。
- $1 \le a_i,b_i \le N$。
- $a_i\ne b_i$。
- 给定的图是一个简单连通的无向图。
- 所有输入值均为整数。