CF1747C Swap Game
题目描述
Alice 和 Bob 正在玩一个关于数组 $a$ 的游戏,数组包含 $n$ 个正整数。Alice 和 Bob 轮流行动,Alice 先手。
在每一回合,玩家需要进行如下操作:
- 如果 $a_1 = 0$,该玩家输掉游戏,否则:
- 玩家选择某个 $i$,其中 $2 \leq i \leq n$。然后玩家将 $a_1$ 的值减少 $1$,并将 $a_1$ 与 $a_i$ 交换。
如果两位玩家都采取最优策略,判断谁会赢得游戏。
输入格式
输入包含多组测试用例。第一行包含一个整数 $t$ $(1 \leq t \leq 2 \cdot 10^4)$,表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$ $(2 \leq n \leq 10^5)$,表示数组 $a$ 的长度。
第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$ $(1 \leq a_i \leq 10^9)$,表示数组 $a$ 的元素。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,如果 Alice 能赢,输出 "Alice";否则输出 "Bob"。
输出时字母大小写不敏感,例如 "alIcE"、"Alice"、"alice" 都视为相同。
说明/提示
在第一个测试用例中,Alice 在她的回合只能选择 $i = 2$,使数组变为 $[1, 0]$。然后 Bob 也只能选择 $i = 2$,使数组变为 $[0, 0]$。由于 $a_1 = 0$,Alice 输掉了游戏。
在第二个测试用例中,玩家同样只能选择 $i = 2$。数组变化过程为:$[2, 1] \to [1, 1] \to [1, 0] \to [0, 0]$,Bob 输掉了游戏。
在第三个测试用例中,可以证明 Alice 有必胜策略。
由 ChatGPT 4.1 翻译