欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1534A.Colour the Flag
Colour the Flag
题目描述
今天我们来玩一个红白涂色游戏(不,这不是俄国内战;这只是加拿大国旗的颜色)。
给你一个 的网格,其中包含字符 "R"、"W" 和 "."。"R" 表示红色,"W" 表示白色,"." 表示空白。一个格子的邻居是与它共享边的格子(仅共享角的格子不算邻居)。
你的任务是将所有空白格子填涂成红色或白色,使得每个红色格子的所有邻居都是白色(且没有红色邻居),每个白色格子的所有邻居都是红色(且没有白色邻居)。你不能重新涂色已经有颜色的格子。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例的第一行包含两个整数 ()和 (),分别表示网格的高度和宽度。
接下来的 行,每行包含 个字符,表示网格。每个字符为 'R'、'W' 或 '.'。
输出格式
对于每个测试用例,如果存在满足条件的网格,输出 "YES";否则输出 "NO"。
如果存在满足条件的网格,接下来输出 行,每行 个字符,表示一种可行的网格方案。如果有多种答案,输出任意一种即可。
输出中的 "YES" 和 "NO" 不区分大小写,例如 "yEs" 和 "nO" 也是有效的输出。但网格中的字符区分大小写。
说明/提示
第一个样例的答案已在示例输出中给出,可以证明第二个样例不存在满足条件的网格。第三个样例所有格子初始就已涂色,且涂色方案是合法的。
由 ChatGPT 4.1 翻译
样例
3
4 6
.R....
......
......
.W....
4 4
.R.W
....
....
....
5 1
R
W
R
W
R
YES
WRWRWR
RWRWRW
WRWRWR
RWRWRW
NO
YES
R
W
R
W
R
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |