UVA1514 Piece it together

题目描述

汤姆发明了一种特殊的谜题:它包含了一串相同的拼图。该片具有L形的三个伴随方形的形状。角方块是黑色的,两个相邻的方块是白色的。 拼图游戏中,在矩形网格中给出一个黑白方格图案。挑战是使用这些片段来创建模式。这些碎片可以旋转,但不能重叠。 汤姆已经设计了一些漂亮的图案,但他需要找出它们是否可以用这些碎片来构造。他不想用手对每种模式进行测试,而是想编写一个程序来确定这一点。你能帮助他吗? ------------

输入格式

第一行是一个正整数:测试用例最多,最多100个。此后每个测试用例: •前两行有两个整数n和m(1≤n,m≤500):分别包含图案的网格的高度和宽度。 •下面n行,每个包含M个字符,表示网格。每个字符分别是“B”、“W”或“..”,分别表示一个黑色、白色或空的正方形。 网格包含至少一个黑色或白色的正方形。

输出格式

每个测试用例:一行“YES”或“NO”,表示是否能够用拼图块构造模式。你可以假设有无限的碎片供应。 翻译提供者@Happynewyear

说明/提示

[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=448&page=show_problem&problem=4260 [PDF](https://uva.onlinejudge.org/external/15/p1514.pdf)