AT_abc427_d [ABC427D] The Simple Game

题目描述

有一个有向图,包含 $N$ 个顶点和 $M$ 条边。顶点从 $1$ 到 $N$ 编号,第 $i$ 条边是从顶点 $U_i$ 指向顶点 $V_i$ 的有向边。保证每个顶点的出度至少为 $1$。 此外,每个顶点上写有一个字符,第 $i$ 个顶点写有字符 $S_i$。其中 $S_i$ 指第 $i$ 个字符,$S$ 是一个长度为 $N$ 的字符串。 Alice 和 Bob 在图上用一个棋子玩如下游戏: - 棋子最初放在顶点 $1$ 上。Alice 先手,Bob 后手,两人交替进行以下操作各 $K$ 次: - 设当前棋子在顶点 $u$。选择一个存在从 $u$ 到 $v$ 的有向边的顶点 $v$,并将棋子移动到 $v$ 上。 - 经过 $2K$ 步后,设棋子最终停在顶点 $v$。 - 若 $S_v=$ `A`,则 Alice 获胜; - 若 $S_v=$ `B`,则 Bob 获胜。 如果双方均采取最优策略,问谁会获胜。 输入包含 $T$ 组测试数据。请对每组数据分别作答。

输入格式

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

输出格式

输出 $T$ 行,第 $i$ 行输出当双方均采取最优策略时,第 $i$ 组测试数据的胜者。如果 Alice 获胜,则输出 `Alice`;如果 Bob 获胜,则输出 `Bob`。

说明/提示

### 样例解释 1 以下以第一组测试数据举例说明游戏过程。此过程不一定是最优策略,仅为示例。 - 初始时,棋子在顶点 $1$。 - Alice 将棋子移动到顶点 $2$。 - Bob 将棋子移动到顶点 $3$。 - Alice 再次将棋子移动到顶点 $3$。 - Bob 将棋子移动回到顶点 $1$。 此时有 $S_1=$ `A`,所以 Alice 获胜。 ### 数据范围 - $1 \leq T$ - $2 \leq N, M \leq 2 \times 10^5$ - $1 \leq K \leq 10$ - $S$ 是长度为 $N$ 仅包含 `A` 和 `B` 的字符串 - $1 \leq U_i, V_i \leq N$ - 若 $i \neq j$,则 $(U_i, V_i) \neq (U_j, V_j)$ - 每个顶点出度至少为 $1$ - 单组输入所有测试数据的 $N$ 之和不超过 $2\times 10^5$ - 单组输入所有测试数据的 $M$ 之和不超过 $2\times 10^5$ 由 ChatGPT 5 翻译