CF1527B1 Palindrome Game (easy version)

题目描述

本题的简单版与困难版的唯一区别在于,简单版中给定的字符串 $s$ 初始就是一个回文串,而困难版则不一定。 回文串是指从左到右和从右到左读都相同的字符串。例如,“101101”是回文串,而“0101”不是。 Alice 和 Bob 正在玩一个关于字符串 $s$(本题中初始为回文串,长度为 $n$,仅包含字符 '0' 和 '1')的游戏。两人轮流操作,Alice 先手。 每一回合,当前玩家可以进行以下两种操作之一: 1. 选择任意 $i$($1 \le i \le n$),且 $s[i] = $ '0',将 $s[i]$ 变为 '1',并支付 1 美元。 2. 翻转整个字符串,支付 0 美元。该操作仅当当前字符串不是回文串,且上一次操作不是翻转时才允许。也就是说,如果 Alice 翻转了字符串,则 Bob 不能在下一步再次翻转,反之亦然。 翻转字符串是指将字符串的字符顺序从最后到第一个重新排列。例如,“01001”翻转后变为“10010”。 当字符串的所有字符都变为 '1' 时,游戏结束。到此时为止,花费美元数较少的玩家获胜;如果两人花费相同,则为平局。假设双方都采取最优策略,输出 Alice 获胜、Bob 获胜还是平局。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^3$),表示测试用例数量。 接下来每个测试用例包含两行: 第一行包含一个整数 $n$($1 \le n \le 10^3$)。 第二行包含一个长度为 $n$ 的字符串 $s$,仅由字符 '0' 和 '1' 组成。保证 $s$ 是回文串,且至少包含一个 '0'。 注意,所有测试用例中 $n$ 的总和没有限制。

输出格式

对于每个测试用例,输出一行,仅包含一个单词: - 如果 Alice 获胜,输出 "ALICE"; - 如果 Bob 获胜,输出 "BOB"; - 如果平局,输出 "DRAW"。

说明/提示

以样例的第一个测试用例为例: - 第 $1$ 步,Alice 必须执行第 $1$ 种操作,因为当前字符串是回文串。 - 第 $2$ 步,Bob 翻转字符串。 - 第 $3$ 步,Alice 再次执行第 $1$ 种操作。此时所有字符均为 '1',游戏结束。 Alice 共花费 2 美元,Bob 花费 0 美元。因此,Bob 总是获胜。 由 ChatGPT 4.1 翻译