P15788 [JAG 2025 Summer Camp #3] Bomb Game

题目描述

有一排 $N$ 个石子,每个石子被涂成白色或黑色。 Alice 和 Bob 使用这些石子玩一个游戏,规则如下: - 两位玩家轮流行动,Alice 先手。 - 在每个回合中,当前玩家必须从石子的最左端或最右端恰好移除一个石子。 - 如果两位玩家移除的黑色石子的总数达到 $M$,则执行该移动的玩家输掉游戏,另一名玩家获胜。 假设双方都采取最优策略,请判断哪位玩家会赢得游戏。题目保证黑色石子的数量至少为 $M$。

输入格式

输入包含多个测试用例。 第一行包含一个整数 $T$($1 \leq T \leq 1000$),表示测试用例的数量。 接下来是 $T$ 个测试用例。每个测试用例的格式如下。 $$\begin{aligned} & N \ M \\ & S \end{aligned}$$ 对于每个测试用例,第一行包含两个整数 $N$($1 \leq N \leq 500\,000$)和 $M$($1 \leq M \leq N$),分别表示石子的总数和导致失败的阈值。 第二行包含一个长度为 $N$ 的字符串 $S$,仅由字符 'B' 和 'W' 组成。$S$ 的第 $i$ 个字符表示从左数第 $i$ 个石子的颜色:如果石子是黑色,则为 'B';如果是白色,则为 'W'。题目保证黑色石子的数量至少为 $M$。 保证所有测试用例的 $N$ 的总和不超过 $500\,000$。

输出格式

对于 $T$ 个测试用例,逐行输出答案。对于每个测试用例,输出将会获胜的玩家的名字。

说明/提示

在第一个测试用例中,如果 Alice 移除最左边的白色石子,剩下的石子序列为 “BBWB”。无论 Bob 从哪一端选择,他最终都会拿到一个黑色石子,因此 Bob 输掉游戏。 在第二个测试用例中,Alice 会获胜。例如,游戏可能按以下步骤进行: 1. Alice 移除最右边的黑色石子。 2. Bob 移除最右边的白色石子。 3. Alice 移除最左边的白色石子。 4. Bob 移除最右边的黑色石子。 翻译由 DeepSeek V3.2 完成