Codeforces Round 648 (Div. 2)
D
Solve The Maze
Codeforces
1700
原题
← CE →
翻译中…

Vivek has encountered a problem. He has a maze that can be represented as an $n \times m$ grid. Each of the grid cells may represent the following:

翻译中…
  • Empty — '.'
  • Wall — '#'
  • Good person — 'G'
  • Bad person — 'B'
翻译中…

The only escape from the maze is at cell $(n, m)$.

翻译中…

A person can move to a cell only if it shares a side with their current cell and does not contain a wall. Vivek wants to block some of the empty cells by replacing them with walls in such a way, that all the good people are able to escape, while none of the bad people are able to. A cell that initially contains 'G' or 'B' cannot be blocked and can be travelled through.

翻译中…

Help him determine if there exists a way to replace some (zero or more) empty cells with walls to satisfy the above conditions.

翻译中…

It is guaranteed that the cell $(n,m)$ is empty. Vivek can also block this cell.

翻译中…

Input

翻译中…

The first line contains one integer $t$ $(1 \le t \le 100)$ — the number of test cases. The description of the test cases follows.

翻译中…

The first line of each test case contains two integers $n$, $m$ $(1 \le n, m \le 50)$ — the number of rows and columns in the maze.

翻译中…

Each of the next $n$ lines contain $m$ characters. They describe the layout of the maze. If a character on a line equals '.', the corresponding cell is empty. If it equals '#', the cell has a wall. 'G' corresponds to a good person and 'B' corresponds to a bad person.

翻译中…

Output

翻译中…

For each test case, print "Yes" if there exists a way to replace some empty cells with walls to satisfy the given conditions. Otherwise print "No"

翻译中…

You may print every letter in any case (upper or lower).

翻译中…

Note

翻译中…

For the first and second test cases, all conditions are already satisfied.

翻译中…

For the third test case, there is only one empty cell $(2,2)$, and if it is replaced with a wall then the good person at $(1,2)$ will not be able to escape.

翻译中…

For the fourth test case, the good person at $(1,1)$ cannot escape.

翻译中…

For the fifth test case, Vivek can block the cells $(2,3)$ and $(2,2)$.

翻译中…

For the last test case, Vivek can block the destination cell $(2, 2)$.

翻译中…

样例

Input #1
6
1 1
.
1 2
G.
2 2
#B
G.
2 3
G.#
B#.
3 3
#B.
#..
GG.
2 2
#B
B.
Output #1
Yes
Yes
No
No
Yes
Yes
InputCopy OutputCopy
题目信息
题号
1365D
时间限制
1 s
内存限制
256 MB
标签
构造
DFS 及类似
并查集
图论
贪心
模拟
最短路

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。