#ATarc164b. [ARC164B] Switching Travel

[ARC164B] Switching Travel

题目描述

有一个包含 NN 个顶点的简单连通无向图,顶点编号为 11NN。该图有 MM 条边,第 ii 条边连接顶点 aia_ibib_i

此外,每个顶点都有白色或黑色两种颜色,初始状态由 cic_i 给出。若 ci=0c_i=0,则顶点 ii 初始为白色;若 ci=1c_i=1,则顶点 ii 初始为黑色。

你可以在图上任选一个顶点作为出发点,并进行如下操作任意次:

  • 从当前所在顶点出发,移动到与当前顶点通过边直接相连且颜色不同的顶点。移动后,出发的顶点颜色会反转(白变黑,黑变白)。

请判断,是否存在一种方案,使得经过至少一次操作后能够回到出发点。

输入格式

输入通过标准输入按以下格式给出。

NN MM
a1a_1 b1b_1
a2a_2 b2b_2
\vdots
aMa_M bMb_M
c1c_1 c2c_2 \ldots cNc_N

输出格式

如果存在经过至少一次操作后能够回到出发点的方案,输出 Yes;否则输出 No

样例 1

输入

4 4
1 2
2 3
3 4
4 2
0 1 0 1

输出

Yes

样例 2

输入

5 6
1 2
2 3
3 4
4 5
1 4
2 5
0 1 0 1 0

输出

No

说明/提示

限制条件

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • N1Mmin{2×105,N(N1)/2}N-1 \leq M \leq \min\{2 \times 10^5, N(N-1)/2\}
  • 1ai,biN1 \leq a_i, b_i \leq N (1iM)(1 \leq i \leq M)
  • ci=0c_i=0ci=1c_i=1 (1iN)(1 \leq i \leq N)
  • 给定的图是简单且连通的
  • 所有输入均为整数

样例解释 1

例如,考虑从顶点 11 出发。第一次操作可以移动到顶点 22,并将出发点(顶点 11)的颜色由白变黑。此时的图变化如下图所示(用圆圈表示当前所在顶点)。随后依次移动到顶点 334422,此时顶点 1,2,3,41,2,3,4 的颜色依次为黑、白、黑、白。因此,下一步可以移动回顶点 11,实现回到出发点。

样例解释 2

在这个图中,无论选择哪个顶点作为出发点,都无法通过满足条件的移动回到出发点。

由 ChatGPT 4.1 翻译