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$。