CF2183A Binary Array Game
题目描述
Alice 和 Bob 在一个大小为 $n$、仅包含数字 $0$ 和 $1$ 的数组 $a$ 上玩游戏。Alice 先手,两人轮流操作。
每位选手在其回合可以选择两个整数 $l$ 和 $r$,满足 $1 \leq l < r \leq |a|$(其中 $|a|$ 表示当前数组 $a$ 的长度)。然后,将子数组 $[a_l, a_{l+1}, \ldots, a_r]$ 替换为一个数字 $1-\min(a_l, a_{l+1}, \ldots, a_r)$。也就是说,如果子数组中所有数字都是 $1$,则将子数组 $[a_l, a_{l+1}, \ldots, a_r]$ 删除,并在原位置插入数字 $0$;否则,将子数组 $[a_l, a_{l+1}, \ldots, a_r]$ 删除,并在原位置插入数字 $1$。
当数组中只剩下一个数字时,游戏结束(此时无法进行合法的操作)。如果最后剩下的数字是 $0$,则 Alice 获胜;否则,Bob 获胜。请你判断在最优策略下,谁能赢得游戏。
输入格式
每组测试数据包含多组测试用例。第一行包含测试用例的数量 $t$,满足 $1 \leq t \leq 100$。
每个测试用例的第一行包含一个正整数 $n$,表示数组 $a$ 的长度,$3 \leq n \leq 100$。
每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$,$0 \leq a_i \leq 1$。
输出格式
对于每个测试用例,若 Alice 能获胜,则输出 Alice;否则,输出 Bob。输出时不区分大小写,例如 Alice、alice、ALICE、AliCe 都可以。
说明/提示
对于第一个测试用例,Alice 可以选择 $l=2$ 且 $r=3$。此时 $1-\min(a_2, a_3)=1$,子数组 $[1,0]$ 被替换为数字 $1$,$a$ 变为 $[1,1]$。接下来轮到 Bob,他只能选择 $l=1$ 且 $r=2$,此时 $1-\min(a_1,a_2)=0$,$a$ 变为 $[0]$。游戏结束,最后剩下的数字是 $0$,因此 Alice 获胜。
对于第二个测试用例,Alice 可以第一步选择 $l=1$ 且 $r=3$,数组变为 $[0]$,游戏立即结束,Alice 获胜。
由 ChatGPT 5 翻译