欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF2163A.Souvlaki VS. Kalamaki
Souvlaki VS. Kalamaki
题目描述
有两位玩家,Souvlaki 和 Kalamaki,得到了一个长度为 的整数序列 。
他们将玩一个包含 轮的游戏,轮次编号从 到 。Souvlaki 在奇数轮出手,Kalamaki 在偶数轮出手。
在第 轮,当前玩家可以选择以下两种操作之一:
- 跳过本回合,进入第 轮(如果本轮已经是最后一轮,则游戏结束)。
- 交换 和 两个元素。
如果在最后一轮结束后,序列 是非递减的(即对于每个 ,都有 ),则 Souvlaki 获胜。否则,Kalamaki 获胜。
然而,Souvlaki 不喜欢输,所以在游戏开始之前,他可以任意重新排列 中的元素。请判断他是否可以重新排列 ,使得无论 Kalamaki 如何操作,他都一定能获胜。
输入格式
每个测试点包含多组测试数据。第一行包含一个整数 (),表示测试数据组数。
每组测试数据的第一行为一个整数 (),表示 的长度。
第二行为 个整数 (),表示序列 的每个元素。
输出格式
对于每组测试数据,若 Souvlaki 能通过重新排列 来保证自己获胜,输出 “YES”,否则输出 “NO”。
输出不区分大小写,例如 “yEs”、“yes”、“Yes” 和 “YES” 均视为正确答案。
说明/提示
在第一个样例中,。可以将序列重新排列为 ,此时 Souvlaki 可以这样获胜:
- 第 1 轮,Souvlaki 行动。他选择交换 和 ,此时 。
- 第 2 轮,Kalamaki 行动。无论他选择跳过还是交换 和 , 都不会变。假设他选择跳过。
- 第 3 轮,Souvlaki 行动。他亦可选择跳过,因为如果此时交换最后两个元素会导致失败。
每一轮后,,始终是非递减的,所以 Souvlaki 获胜,无论 Kalamaki 如何选择。
在第二个样例中,因为所有元素都相等,序列始终是非递减的,所以 Souvlaki 一定获胜。
由 ChatGPT 5 翻译
样例
5
4
4 2 2 1
4
1 1 1 1
5
1 5 1 5 1
3
1 2 3
5
1 3 2 3 5
YES
YES
YES
NO
NO
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |