CF1644A Doors and Keys
题目描述
骑士正站在一条又长又窄的走廊前。公主正在走廊的尽头等着他。
在走廊中有三扇门:一扇红门、一扇绿门和一扇蓝门。这些门依次排列,但顺序可能不同。要前往下一扇门,骑士必须先打开前面的门。
每扇门只能用对应颜色的钥匙打开。因此,三把钥匙:红钥匙、绿钥匙和蓝钥匙,也被放置在走廊的某处。要打开门,骑士必须先捡起与门颜色相同的钥匙。
骑士有一张走廊的地图。地图可以表示为一个由六个字符组成的字符串:
- R、G、B 分别表示红门、绿门和蓝门;
- r、g、b 分别表示红钥匙、绿钥匙和蓝钥匙。
这六个字符在字符串中各出现一次。
骑士站在走廊的起点——也就是地图的最左端。
给定一张走廊的地图,判断骑士是否能够打开所有的门,并在走廊尽头与公主相见。
输入格式
第一行包含一个整数 $t$($1 \le t \le 720$),表示测试用例的数量。
每个测试用例包含一行字符串。每个字符为 R、G、B(表示门),或 r、g、b(表示钥匙),且每种字符各出现一次。
输出格式
对于每个测试用例,如果骑士能够打开所有的门,输出 YES;否则输出 NO。
说明/提示
在第一个测试用例中,骑士先收集所有钥匙,然后用它们打开所有的门。
在第二个测试用例中,骑士面前就是红门,但他还没有红钥匙。
在第三个测试用例中,每扇门前面都放着对应的钥匙,因此骑士每次都能立即捡到钥匙并打开门。
在第四个测试用例中,骑士无法打开蓝门。
由 ChatGPT 4.1 翻译