CF1972B.Coin Games

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Coin Games

题目描述

桌上有 nn 枚硬币围成一圈,每枚硬币朝上或朝下。Alice 和 Bob 轮流进行如下游戏,Alice 先手。

每次操作时,当前玩家选择一枚朝上的硬币,将其移除,并翻转与其相邻的两枚硬币。如果(操作前)只剩下两枚硬币,则移除其中一枚,另一枚不会被翻转(因为会被翻转两次)。如果(操作前)只剩下一枚硬币,则不会有硬币被翻转。如果(操作前)没有朝上的硬币,则当前玩家输掉游戏。

请判断如果两人都采取最优策略,谁会赢得游戏。可以证明,游戏将在有限步操作后结束,并且一定有一方获胜。

输入格式

每个测试点包含多组测试用例。第一行包含测试用例个数 tt1t1001\le t\le 100)。接下来是每组测试用例的描述。

每组测试用例的第一行包含一个正整数 nn1n1001\leq n\leq 100),表示硬币的数量。

第二行是一个长度为 nn 的字符串 ss,仅包含 "U" 和 "D",分别表示该硬币朝上或朝下。

输出格式

对于每个测试用例,如果 Alice 能赢,输出 "YES";否则输出 "NO"。

你可以用任意大小写输出答案(如 "yEs"、"yes"、"Yes"、"YES" 都会被识别为肯定回答)。

说明/提示

在第一个测试用例中,游戏可能如下进行:

  • Alice 选择第一枚硬币,ss 变为 "DDUU"。
  • Bob 选择最后一枚硬币,ss 变为 "UDD"。
  • Alice 选择第一枚硬币,ss 变为 "UU"。
  • Bob 选择第一枚硬币,ss 变为 "U"。
  • Alice 选择唯一的硬币,ss 变为空。
  • Bob 现在无法选择任何硬币,他输掉了游戏。

可以证明,如果两人都采取最优策略,Bob 总会输掉游戏。

由 ChatGPT 4.1 翻译

样例

3
5
UUDUD
5
UDDUD
2
UU
YES
NO
NO

在线编程 IDE

建议全屏模式获得最佳体验