CF1972B.Coin Games
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
桌上有 n 枚硬币围成一圈,每枚硬币朝上或朝下。Alice 和 Bob 轮流进行如下游戏,Alice 先手。
每次操作时,当前玩家选择一枚朝上的硬币,将其移除,并翻转与其相邻的两枚硬币。如果(操作前)只剩下两枚硬币,则移除其中一枚,另一枚不会被翻转(因为会被翻转两次)。如果(操作前)只剩下一枚硬币,则不会有硬币被翻转。如果(操作前)没有朝上的硬币,则当前玩家输掉游戏。
请判断如果两人都采取最优策略,谁会赢得游戏。可以证明,游戏将在有限步操作后结束,并且一定有一方获胜。
输入格式
每个测试点包含多组测试用例。第一行包含测试用例个数 t(1≤t≤100)。接下来是每组测试用例的描述。
每组测试用例的第一行包含一个正整数 n(1≤n≤100),表示硬币的数量。
第二行是一个长度为 n 的字符串 s,仅包含 "U" 和 "D",分别表示该硬币朝上或朝下。
输出格式
对于每个测试用例,如果 Alice 能赢,输出 "YES";否则输出 "NO"。
你可以用任意大小写输出答案(如 "yEs"、"yes"、"Yes"、"YES" 都会被识别为肯定回答)。
输入输出样例
输入#1
3 5 UUDUD 5 UDDUD 2 UU
输出#1
YES NO NO
说明/提示
在第一个测试用例中,游戏可能如下进行:
- Alice 选择第一枚硬币,s 变为 "DDUU"。
- Bob 选择最后一枚硬币,s 变为 "UDD"。
- Alice 选择第一枚硬币,s 变为 "UU"。
- Bob 选择第一枚硬币,s 变为 "U"。
- Alice 选择唯一的硬币,s 变为空。
- Bob 现在无法选择任何硬币,他输掉了游戏。
可以证明,如果两人都采取最优策略,Bob 总会输掉游戏。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?