#P17122. [ICPC 2025 Shanghai R] Hamu
[ICPC 2025 Shanghai R] Hamu
背景
试题来自 清华大学学生算法协会。
题目描述
Dingdong 计划前往 Hamu 国旅行。
Hamu 国由 座城市和 条双向道路组成。在此次旅行之前,Dingdong 已经恰好访问过城市 共 次。在这次旅行中,Dingdong 计划从城市 进入 Hamu 国。之后的每一天,Dingdong 都会沿着某条道路前往一座城市并访问该城市一次。在最后一天的访问结束时,Dingdong 必须位于城市 并从城市 离开 Hamu 国。注意,在进入 Hamu 国的当天,Dingdong 不会访问城市 。
Dingdong 希望,经过这次旅行后,结合他之前的访问次数,Hamu 国的每座城市被他访问的总次数均为偶数。Dingdong 时间有限,在这次旅行中最多只能访问 座城市。请你帮他构造一个可行的旅行计划,或者告诉他这不可能。
输入格式
输入包含多组测试用例。第一行包含一个整数 (),表示测试用例的数量。
对于每组测试用例,第一行包含三个整数 ($1 \le n \le 2 \times 10^5, 0 \le m \le 2 \times 10^5, 1 \le s \le n$),其中 为城市数量, 为道路数量, 为起始城市的编号。
接下来一行包含 个整数 (),表示 Dingdong 之前访问每座城市的次数。
接下来的 行,每行包含两个整数 (),表示一条连接城市 和城市 的无向道路。可能存在重边和自环。 换句话说,不保证 ,也不保证对于 有 。
保证所有测试用例的 之和与 之和分别不超过 。
输出格式
对于每组测试用例,如果不存在可行的旅行计划,则输出一行 No。
否则,首先输出一行 Yes,然后在接下来的一行输出一个整数 (),表示本次旅行中访问城市的总次数。再接下来的一行,按顺序输出访问的城市的编号。
5
4 4 1
1 1 1 1
1 2
2 3
3 4
4 1
5 7 1
9 4 3 11 7
1 2
2 5
2 4
3 4
2 3
1 3
4 5
2 2 2
114 514
1 2
1 2
5 0 1
114 514 19 19 810
2 1 1
3 5
1 2
Yes
4
2 3 4 1
Yes
6
2 4 5 2 3 1
Yes
0
No
Yes
2
2 1
提示
对于第一个测试用例,按照路线 访问后,城市 分别被访问了 次,满足要求。
翻译由 DeepSeek V4 Pro 完成