#Lutece1970. 咸鱼咸鱼咸
咸鱼咸鱼咸
Migrated from Lutece 1970 咸鱼咸鱼咸
All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.
Description
咕之大,一锅炖不下。
咸鱼决定背着锅去找咕咕啦!
现在在地图上标记了 个点,咸鱼一共有 个锅,每个锅上有两个柄,分别写着 和 。每一个锅除了可以炖咕咕之外,还可以让咸鱼在锅的柄上两个数字所代表的点之间跳一次。比如,如果咸鱼在点 ,他使用一个写着 的锅,那么他可以用这个锅跳到点 。当然,顺序是没有关系的,转一下就好了。每个锅用过一次后就不能再用了(既不能跳跳,也不能炖咕咕)。
咕咕说:怎么能让咸鱼背锅!于是,咕咕决定了在咸鱼用完那堆锅绝!不!现!身!
现在咕咕问你,有没有办法在地图上找到一条咸鱼路径,使得咸鱼用(shuai)完那堆锅。
Input
第一行两个数字:$n,m(2\le n \le 10^6,n-1 \le m \le \min( \frac{n\times (n-1)}{2} , 2\times 10^6) )$
接下来 行,每行两个数字 ,代表每个锅的柄上的两个数字。一行中两个数字均不相同,且每一行的两个数字组成的集合也不相同。
(输入保证两两点之间都存在一堆锅使得咸鱼可以相互到达)
(点的下标从 开始)
Output
如果不能找到咸鱼路径,则输出 No
即可。
如果可以找到咸鱼路径,输出两行。
第一行输出 Yes
。
第二行输出 个数,代表咸鱼路径,第一个数为咸鱼的起点,最后一个数为咸鱼的终点,相邻的两个数 表示咸鱼在 点时使用了锅柄上写着 或 的锅到达了 点。
Samples
3 2
0 1
0 2
Yes
2 0 1
4 3
0 1
0 2
0 3
No
Note
你们以为不用锅咸鱼也会走吗?
不可能的。
Resources
2018 UESTC ACM Training for Graph Theory