SP9890 NWERC11D - Piece it together
题目描述
## 题意翻译
Tom 发明了一种特殊的拼图:它包含了一大堆相同的 L 形拼图块。这些 L 形的拼图块由三个正方形结合而成。角正方形是黑色的,相邻的两个正方形是白色的。
给定一个矩形网格中的黑白方块图案,其中有些部分是空白的。你需要利用这些拼图块来**恰好**拼出这种图案,拼图块个数不限。如果存在合法方案,输出 `YES`,否则输出 `NO`。拼图块可以旋转,但不能重叠。
输入格式
每个测试点包含多组数据。
第一行是一个正整数 $t$,表示数据组数。
对于之后每组数据:
第一行包含两个整数 $n$ 和 $m$,分别是矩形网格的高度和宽度。
以下 $n$ 行,每行包含 $m$ 个字符,表示网格。每个字符都是 `B`、`W` 或 `.`,分别表示黑色、白色或空白方块。
输入保证网格至少包含一个黑色或白色正方形。
输出格式
对于每组测试数据,输出一行字符串:
一行 `YES` 或 `NO`,表示是否可以用拼图块构建图案。
## 输入输出样例
### 输入 \#1
```
2
3 4
BWW.
WWBW
..WB
3 3
W..
BW.
WBW
```
### 输出 \#1
```
YES
NO
```
说明/提示
对于 $100$% 的数据,$1\leq n,m\leq 500$,$t\leq 100$。