309447: CF1680B. Robots

Memory Limit:512 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Robots

题意翻译

有一个平面被分成了 $n$ 行 $m$ 列 $(0\le n, m\le5)$,其中有一些格子是空的(用 E 来表示),其他格子包含了机器人(用 R 来表示)。 你可以让所有的机器人同时做以下这些事: - 上移 - 下移 - 左移 - 右移 当你下达一个指令时,所有的机器人都会同时向你指定的方向走一格。如果一个机器人尝试走出这个平面,那么它就会爆炸;否则,所有的机器人都会移动到所指定方向的相邻格子。 你可以下达任意数量、任意顺序的指令(可能是 $0$)。你的目标是使得至少一个机器人达到了左上角格子,并且所有机器人不爆炸。 共有 $t (1\le t\le 5000)$ 个测试点,如果可以,那么输出 YES,否则输出 NO。

题目描述

There is a field divided into $ n $ rows and $ m $ columns. Some cells are empty (denoted as E), other cells contain robots (denoted as R). You can send a command to all robots at the same time. The command can be of one of the four types: - move up; - move right; - move down; - move left. When you send a command, all robots at the same time attempt to take one step in the direction you picked. If a robot tries to move outside the field, it explodes; otherwise, every robot moves to an adjacent cell in the chosen direction. You can send as many commands as you want (possibly, zero), in any order. Your goal is to make at least one robot reach the upper left corner of the field. Can you do this without forcing any of the robots to explode?

输入输出格式

输入格式


The first line contains one integer $ t $ ( $ 1 \le t \le 5000 $ ) — the number of test cases. Each test case starts with a line containing two integers $ n $ and $ m $ ( $ 1 \le n, m \le 5 $ ) — the number of rows and the number of columns, respectively. Then $ n $ lines follow; each of them contains a string of $ m $ characters. Each character is either E (empty cell} or R (robot). Additional constraint on the input: in each test case, there is at least one robot on the field.

输出格式


If it is possible to make at least one robot reach the upper left corner of the field so that no robot explodes, print YES. Otherwise, print NO.

输入输出样例

输入样例 #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

输出样例 #1

YES
NO
YES
YES
YES
NO

说明

Explanations for test cases of the example: 1. in the first test case, it is enough to send a command to move left. 2. in the second test case, if you try to send any command, at least one robot explodes. 3. in the third test case, it is enough to send a command to move left. 4. in the fourth test case, there is already a robot in the upper left corner. 5. in the fifth test case, the sequence "move up, move left, move up" leads one robot to the upper left corner; 6. in the sixth test case, if you try to move any robot to the upper left corner, at least one other robot explodes.

Input

题意翻译

有一个平面被分成了 $n$ 行 $m$ 列 $(0\le n, m\le5)$,其中有一些格子是空的(用 E 来表示),其他格子包含了机器人(用 R 来表示)。 你可以让所有的机器人同时做以下这些事: - 上移 - 下移 - 左移 - 右移 当你下达一个指令时,所有的机器人都会同时向你指定的方向走一格。如果一个机器人尝试走出这个平面,那么它就会爆炸;否则,所有的机器人都会移动到所指定方向的相邻格子。 你可以下达任意数量、任意顺序的指令(可能是 $0$)。你的目标是使得至少一个机器人达到了左上角格子,并且所有机器人不爆炸。 共有 $t (1\le t\le 5000)$ 个测试点,如果可以,那么输出 YES,否则输出 NO。

加入题单

算法标签: