CF1644A.Doors and Keys

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Doors and Keys

题目描述

骑士正站在一条又长又窄的走廊前。公主正在走廊的尽头等着他。

在走廊中有三扇门:一扇红门、一扇绿门和一扇蓝门。这些门依次排列,但顺序可能不同。要前往下一扇门,骑士必须先打开前面的门。

每扇门只能用对应颜色的钥匙打开。因此,三把钥匙:红钥匙、绿钥匙和蓝钥匙,也被放置在走廊的某处。要打开门,骑士必须先捡起与门颜色相同的钥匙。

骑士有一张走廊的地图。地图可以表示为一个由六个字符组成的字符串:

  • R、G、B 分别表示红门、绿门和蓝门;
  • r、g、b 分别表示红钥匙、绿钥匙和蓝钥匙。

这六个字符在字符串中各出现一次。

骑士站在走廊的起点——也就是地图的最左端。

给定一张走廊的地图,判断骑士是否能够打开所有的门,并在走廊尽头与公主相见。

输入格式

第一行包含一个整数 tt1t7201 \le t \le 720),表示测试用例的数量。

每个测试用例包含一行字符串。每个字符为 R、G、B(表示门),或 r、g、b(表示钥匙),且每种字符各出现一次。

输出格式

对于每个测试用例,如果骑士能够打开所有的门,输出 YES;否则输出 NO。

说明/提示

在第一个测试用例中,骑士先收集所有钥匙,然后用它们打开所有的门。

在第二个测试用例中,骑士面前就是红门,但他还没有红钥匙。

在第三个测试用例中,每扇门前面都放着对应的钥匙,因此骑士每次都能立即捡到钥匙并打开门。

在第四个测试用例中,骑士无法打开蓝门。

由 ChatGPT 4.1 翻译

样例

4
rgbBRG
RgbrBG
bBrRgG
rgRGBb
YES
NO
YES
NO

在线编程 IDE

建议全屏模式获得最佳体验