欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF556B.Case of Fake Numbers
Case of Fake Numbers
题目描述
著名侦探 Andrewid the Android 正在调查一个案子,这个案子涉及骗子们制造出假冒著名 Stolp 齿轮的仿制品,这些齿轮谜题就像曾经著名的魔方一样具有盛名。
这个谜题的核心部件包括一个按钮和一排 个相同的齿轮。每个齿轮上有 个齿,这些齿上依次按逆时针顺序写着 到 的所有数字。当你按下按钮时,第一个齿轮顺时针旋转,第二个齿轮逆时针旋转,第三个齿轮再顺时针旋转,如此交替。
此外,每个齿轮上有且只有一个“激活齿”。当齿轮转动时,新的激活齿会变成当前激活齿在旋转方向上的下一个位置。例如,如果 ,且当前激活齿是写着数字 的那个齿,那么顺时针旋转后,写着数字 的齿变为激活齿,而逆时针旋转后,写着数字 的齿变为激活齿。
Andrewid 记得真正的谜题有这样一个性质:你可以多次按按钮,使得最后各个齿轮上的激活齿依次组成 的序列。请编写程序判断给定的齿轮谜题是真是假。
输入格式
第一行包含整数 (),表示齿轮的数量。
第二行包含 个数字 (),表示每个齿轮当前激活齿上的数字。
输出格式
一行输出 "Yes"(不含引号),如果该 Stolp 齿轮谜题是真的;否则输出 "No"。
说明/提示
在第一个样例中,第一次按按钮后,激活齿序列将变为 2 2 1,再按一次后变为 0 1 2。
由 ChatGPT 5 翻译
样例
3
1 0 0
Yes
5
4 2 1 4 3
Yes
4
0 2 3 1
No
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |