AT_abc456_e [ABC456E] Endless Holidays

题目描述

AtCoder 王国有 $N$ 个城市,分别编号为 $1, 2, \dots, N$。有 $M$ 条双向道路连接着若干城市,第 $i$ 条道路连接城市 $U_i$ 和 $V_i$。任意两个城市之间都可以通过若干条道路互达。 在 AtCoder 王国,一周共有 $W$ 天,分别为第 $1, 2, \dots, W$ 天,第 $W$ 天的下一天又是第 $1$ 天。 每个城市在一周的不同天会有不同的休息日。城市 $i$ 是否在一周的第 $j$ 天为休息日,用长度为 $W$ 的字符串 $S_i$ 描述:若 $S_i$ 的第 $j$ 个字符为 `o`,则第 $j$ 天是休息日;若为 `x`,则该天为工作日。 高桥会选择一个喜欢的城市,并于第 $1$ 天中午到达。每晚之后,他可以选择留在当前城市,或移动到一个与当前城市有直接道路相连的城市。请输出是否存在一种移动方式,使得高桥每天中午所在的城市均为休息日。如果可以,输出 `Yes`,否则输出 `No`。 共给出 $T$ 组测试数据,请分别作答。

输入格式

输入从标准输入读入,格式如下: > $T$ $\mathrm{case}_1$ $\mathrm{case}_2$ $\vdots$ $\mathrm{case}_T$ 其中,$\mathrm{case}_i$ 表示第 $i$ 组测试数据,格式如下: > $N$ $M$ > $U_1$ $V_1$ > $U_2$ $V_2$ > $\vdots$ > $U_M$ $V_M$ > $W$ > $S_1$ > $S_2$ > $\vdots$ > $S_N$

输出格式

输出共 $T$ 行。第 $i$ 行输出第 $i$ 组测试数据的答案。

说明/提示

### 样例解释 1 对于第一组测试数据,例如可以沿城市 $4 \to 2 \to 1 \to 4 \to 2 \to 1 \to \cdots$ 的路径不断移动,满足条件。或者也可以不断在 $3 \to 2 \to 3 \to 3 \to 2 \to 3 \to \cdots$ 间移动,也能满足。 对于第二组测试数据,可以一直待在城市 $1$,满足条件。 对于第三组测试数据,无法始终在休息日到达某个城市。 ### 数据范围 - $1 \leq T \leq 10^5$ - $1 \leq N \leq 10^5$ - $N-1 \leq M \leq 10^5$ - $1 \leq U_i < V_i \leq N$ - 任意两城市之间均可互达 - $2 \leq W \leq 10$ - $T, N, M, U_i, V_i, W$ 均为整数 - $S_i$ 是长度为 $W$ 的仅包含 `o` 和 `x` 的字符串 - 所有测试数据中 $N$ 之和不超过 $10^5$ - 所有测试数据中 $M$ 之和不超过 $10^5$ 由 ChatGPT 5 翻译