CF1680B.Robots

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

Robots

题目描述

有一个被划分为 nnmm 列的场地。某些格子是空的(用 E 表示),其他格子里有机器人(用 R 表示)。

你可以同时向所有机器人发送一条指令。指令有以下四种类型之一:

  • 向上移动;
  • 向右移动;
  • 向下移动;
  • 向左移动。

当你发送一条指令时,所有机器人会同时尝试朝你选择的方向移动一步。如果某个机器人试图移出场地边界,它会爆炸;否则,每个机器人会移动到相邻的格子。

你可以按任意顺序发送任意多条指令(也可以一条都不发)。你的目标是让至少一个机器人到达场地的左上角。你能否做到这一点,并且不让任何机器人爆炸?

输入格式

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

每个测试用例的第一行包含两个整数 nnmm1n,m51 \le n, m \le 5),分别表示行数和列数。接下来有 nn 行,每行包含一个长度为 mm 的字符串。每个字符要么是 E(空格),要么是 R(机器人)。

输入的额外限制:每个测试用例中,场地上至少有一个机器人。

输出格式

如果可以让至少一个机器人到达左上角,并且没有任何机器人爆炸,输出 YES。否则输出 NO。

说明/提示

样例的解释:

  1. 在第一个测试用例中,只需发送一条“向左移动”指令即可。
  2. 在第二个测试用例中,无论发送什么指令,至少有一个机器人会爆炸。
  3. 在第三个测试用例中,只需发送一条“向左移动”指令即可。
  4. 在第四个测试用例中,左上角已经有一个机器人。
  5. 在第五个测试用例中,依次发送“向上移动”、“向左移动”、“向上移动”三条指令,可以让一个机器人到达左上角。
  6. 在第六个测试用例中,无论如何移动机器人到左上角,至少会有另一个机器人爆炸。

由 ChatGPT 4.1 翻译

样例

6
1 3
ERR
2 2
ER
RE
2 2
ER
ER
1 1
R
4 3
EEE
EEE
ERR
EER
3 3
EEE
EER
REE
YES
NO
YES
YES
YES
NO

在线编程 IDE

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