[Solution] Robots solution codeforces

Robots solution codeforces – 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).

[Solution] Robots solution codeforces

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?

[Solution] Robots solution codeforces

The first line contains one integer 𝑡t (1𝑡50001≤t≤5000) — the number of test cases.

Each test case starts with a line containing two integers 𝑛n and 𝑚m (1𝑛,𝑚51≤n,m≤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.

Output

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.

[Solution] Robots solution codeforces

Example
input

Copy
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
output

Copy
YES
NO
YES
YES
YES
NO

Robots solution codeforces

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.

 

For Solution

Click here

Leave a Comment