欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1644A.Doors and Keys
Doors and Keys
题目描述
骑士正站在一条又长又窄的走廊前。公主正在走廊的尽头等着他。
在走廊中有三扇门:一扇红门、一扇绿门和一扇蓝门。这些门依次排列,但顺序可能不同。要前往下一扇门,骑士必须先打开前面的门。
每扇门只能用对应颜色的钥匙打开。因此,三把钥匙:红钥匙、绿钥匙和蓝钥匙,也被放置在走廊的某处。要打开门,骑士必须先捡起与门颜色相同的钥匙。
骑士有一张走廊的地图。地图可以表示为一个由六个字符组成的字符串:
- R、G、B 分别表示红门、绿门和蓝门;
- r、g、b 分别表示红钥匙、绿钥匙和蓝钥匙。
这六个字符在字符串中各出现一次。
骑士站在走廊的起点——也就是地图的最左端。
给定一张走廊的地图,判断骑士是否能够打开所有的门,并在走廊尽头与公主相见。
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例包含一行字符串。每个字符为 R、G、B(表示门),或 r、g、b(表示钥匙),且每种字符各出现一次。
输出格式
对于每个测试用例,如果骑士能够打开所有的门,输出 YES;否则输出 NO。
说明/提示
在第一个测试用例中,骑士先收集所有钥匙,然后用它们打开所有的门。
在第二个测试用例中,骑士面前就是红门,但他还没有红钥匙。
在第三个测试用例中,每扇门前面都放着对应的钥匙,因此骑士每次都能立即捡到钥匙并打开门。
在第四个测试用例中,骑士无法打开蓝门。
由 ChatGPT 4.1 翻译
样例
4
rgbBRG
RgbrBG
bBrRgG
rgRGBb
YES
NO
YES
NO
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |