CF1972B.Coin Games

入门

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

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

输入格式

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

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

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

输出格式

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

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

输入输出样例

  • 输入#1

    3
    5
    UUDUD
    5
    UDDUD
    2
    UU

    输出#1

    YES
    NO
    NO

说明/提示

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

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

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

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页