欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF259A.Little Elephant and Chess
Little Elephant and Chess
题目描述
小象非常喜欢国际象棋。
有一天,小象和他的朋友决定下棋。他们有棋子,但棋盘成为了问题。他们拥有一个 的黑白方格棋盘,每个格子被涂成黑色或白色。小象和他的朋友知道,一个标准的棋盘没有任何相邻边的格子颜色相同,并且左上角的格子是白色。为了下棋,他们想把现在的棋盘变成一个标准棋盘。为此,他们可以选择棋盘中的任意一行,对该行进行循环右移——即将最后(最右边)的格子放到最左边,其余格子右移一位。你可以对任意多行进行此操作(也可以不操作)。
例如,如果棋盘的第一行是 “BBBBBBWW”(其中 W 表示白色,B 表示黑色),那么经过一次循环右移后,该行将变成 “WBBBBBBW”。
请帮助小象和他的朋友判断,是否可以通过若干次上述操作,把棋盘变成标准棋盘。
输入格式
输入包含恰好八行。每行恰好有八个字符,均为 W 或 B,表示当前棋盘的第 行第 列的格子颜色。字符 W 表示白色,B 表示黑色,各行之间没有空格。
棋盘的行号从上到下为 1 到 8,列号从左到右为 1 到 8。给定的棋盘最初可能就是标准棋盘。
输出格式
输出一行,如果可以将棋盘变成标准棋盘,输出 “YES”;否则输出 “NO”。
说明/提示
在第一个样例中,你需要将第 3、6、7 和第 8 行各移动一次,使其变为标准棋盘。
在第二个样例中,无论如何都无法达到目标。
由 ChatGPT 5 翻译
样例
WBWBWBWB
BWBWBWBW
BWBWBWBW
BWBWBWBW
WBWBWBWB
WBWBWBWB
BWBWBWBW
WBWBWBWB
YES
WBWBWBWB
WBWBWBWB
BBWBWWWB
BWBWBWBW
BWBWBWBW
BWBWBWWW
BWBWBWBW
BWBWBWBW
NO
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |