CF1365D Solve The Maze
题目描述
给出一个 $n$ 行 $m$ 列的网格,每个格子上有四种情况:
- `.` 表示这个格子是空地。
- `#` 表示这个格子是墙。
- `G` 表示这个格子是好人。
- `B` 表示这个格子是坏人。
`G`,`B`格子都可以认为是空地。
你需要判断能否 `.` 格子上放任意数量的墙,保证所有好人可以通过在空地间移动到达点 $(n,m)$ 而所有坏人都不行。
输入格式
**本题有多组数据**
第一行有一个正整数 $T$,表示有 $T$ 组数据。
每组数据的第一行有两个正整数 $n, m$,表示网格图的行数和列数。
之后 $n$ 行,每行一个长度为 $m$ 的字符串,描述了这张网格图。
保证 $1\le t\le100$,$1\le n, m\le50$。
输出格式
每组数据输出一行 `yes` 或 `no`,大小写任意。
说明/提示
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) $ .