欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1669D.Colorful Stamp
Colorful Stamp
题目描述
给定一排 个格子,初始时全部为白色。你可以使用一个印章,每次可以盖住任意两个相邻的格子,使得其中一个变为红色,另一个变为蓝色。印章可以旋转使用,即既可以用作 ,也可以用作 。
每次使用时,印章必须完全覆盖在这 个格子内(不能部分超出格子)。同一个格子可以被多次盖印。每次使用印章时,被盖住的两个格子都会被重新染色。
例如,要得到 $\color{blue}{\texttt{B}}\color{red}{\texttt{R}}\color{blue}{\texttt{B}}\color{blue}{\texttt{B}}\texttt{W}$ 这一状态,可以按如下顺序盖印:$\texttt{WWWWW} \to \texttt{WW}\color{brown}{\underline{\color{red}{\texttt{R}}\color{blue}{\texttt{B}}}}\texttt{W} \to \color{brown}{\underline{\color{blue}{\texttt{B}}\color{red}{\texttt{R}}}}\color{red}{\texttt{R}}\color{blue}{\texttt{B}}\texttt{W} \to \color{blue}{\texttt{B}}\color{brown}{\underline{\color{red}{\texttt{R}}\color{blue}{\texttt{B}}}}\color{blue}{\texttt{B}}\texttt{W}$。其中 、 和 分别表示白色、红色和蓝色格子,被盖印的格子用下划线标记。
给定一个最终的图案,问是否可以通过若干次(可以为零次)使用印章得到该图案。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例的第一行包含一个整数 (),表示图案的长度。
每个测试用例的第二行包含一个字符串 ,表示你需要得到的图案。保证 的长度为 ,且仅包含字符 、 和 ,分别表示白色、红色和蓝色格子。
保证所有测试用例中 的总和不超过 。
输出格式
输出 行,每行对应一个测试用例的答案。如果可以通过若干次(可以为零次)使用印章得到该图案,输出 "YES";否则输出 "NO"。
答案不区分大小写(例如 "yEs"、"yes"、"Yes" 和 "YES" 都被认为是正确的正答)。
说明/提示
第一个测试用例的解释见题面。
对于第二、第三和第四个测试用例,无法只盖印单个格子,因此答案为 "NO"。
对于第五个测试用例,可以按如下方式盖印:$\texttt{WWW} \to \texttt{W}\color{brown}{\underline{\color{red}{\texttt{R}}\color{blue}{\texttt{B}}}} \to \color{brown}{\underline{\color{blue}{\texttt{B}}\color{red}{\texttt{R}}}}\color{blue}{\texttt{B}}$。
对于第六个测试用例,可以按如下方式盖印:$\texttt{WWW} \to \texttt{W}\color{brown}{\underline{\color{red}{\texttt{R}}\color{blue}{\texttt{B}}}} \to \color{brown}{\underline{\color{red}{\texttt{R}}\color{blue}{\texttt{B}}}}\color{blue}{\texttt{B}}$。
对于第七个测试用例,你可以完全不使用印章。
由 ChatGPT 4.1 翻译
样例
12
5
BRBBW
1
B
2
WB
2
RW
3
BRB
3
RBB
7
WWWWWWW
9
RBWBWRRBW
10
BRBRBRBRRB
12
BBBRWWRRRWBR
10
BRBRBRBRBW
5
RBWBW
YES
NO
NO
NO
YES
YES
YES
NO
YES
NO
YES
NO
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |