AT_agc027_c [AGC027C] ABland Yard

题目描述

给定一个包含 $N$ 个顶点和 $M$ 条边的无向图。顶点编号为 $1$ 到 $N$,边编号为 $1$ 到 $M$。每个顶点除了编号外,还带有一个标签 `A` 或 `B`,顶点 $i$ 的标签为 $s_i$。 第 $i$ 条边连接顶点 $a_i$ 和 $b_i$,且是双向的。 怪盗ヌ斯克喜欢从任意一个顶点出发,经过 $0$ 次或多次沿边移动。今天,他想在移动后,将访问过的顶点的标签,按照从起点开始访问的顺序排列,组成一个字符串。 例如,在一个顶点 $1$ 的标签为 `A`,顶点 $2$ 的标签为 `B` 的图中,如果ヌ斯克按照 $1\rightarrow2\rightarrow1\rightarrow2\rightarrow2$ 的顺序移动,则可以得到字符串 `ABABB`。 请判断怪盗ヌ斯克是否能够构造出任意由 `A` 和 `B` 组成的字符串。

输入格式

输入通过标准输入给出,格式如下: > $N$ $M$ $s$ $a_1$ $b_1$ $\cdots$ $a_M$ $b_M$

输出格式

如果ヌ斯克能够构造出任意由 `A` 和 `B` 组成的字符串,则输出 `Yes`,否则输出 `No`。

说明/提示

## 限制条件 - $2 \leq N \leq 2 \times 10^{5}$ - $1 \leq M \leq 2 \times 10^{5}$ - $|s| = N$ - $s_i$ 为 `A` 或 `B` - $1 \leq a_i, b_i \leq N$ - 给定的图不一定是简单图,也不一定是连通图 ## 样例解释 1 - ヌ斯克可以自由地访问顶点 $1$ 和顶点 $2$,因此可以构造出任意由 `A` 和 `B` 组成的字符串。 ![](https://img.atcoder.jp/agc027/77e96cf8e213d606ddd8f3c3f8315d32.png) ## 样例解释 2 - 例如,无法构造出 `BB`。给定的图不一定是连通图。 ![](https://img.atcoder.jp/agc027/1ab1411cb9d6ee023d14ca4e77c4b584.png) 由 ChatGPT 4.1 翻译