#CF4066. L形

L形

题目描述

L 形是指下图中的前四个图形。L 形由三个单元格着色而来,并且可以以任何方式旋转。

给您一个矩形网格,确定它是否仅包含 L 形,且 L 形相互之间不能共边或者共角。更正式地说:

网格中的每个被染色的单元格都是一个 L 形的一部分,并且没有两个 L 形的边或角相邻。

image

例如,上图中的最后两个网格不满足条件,因为两个 L 形分别共角和共边。

输入格式

输入由多个测试用例组成。第一行包含整数 t(1t100)t(1≤t≤100) 表示测试用例数。测试用例的描述如下。

每个测试用例的第一行包含两个整数 nnm(1n,m50)m(1≤n,m≤50),分别为网格中的行数和列数。

随后是 nn 行,每行包含 mm 个字符。这些字符中的每一个都是 .* 分别为空单元格或被染色单元格。

输出格式

对于每个测试用例,如果网格由不共边或角的 L 形组成,则输出 YES,否则输出 NO

输出答案不计大小写(例如,字符串 yEs, yes, YesYES 都判定为 YES)。

测试样例

10
6 10
........**
.**......*
..*..*....
.....**...
...*.....*
..**....**
6 10
....*...**
.**......*
..*..*....
.....**...
...*.....*
..**....**
3 3
...
***
...
4 4
.*..
**..
..**
..*.
5 4
.*..
**..
....
..**
..*.
3 2
.*
**
*.
2 3
*..
.**
3 2
..
**
*.
3 3
.**
*.*
**.
3 3
..*
.**
..*
YES
NO
NO
NO
YES
NO
NO
YES
NO
NO

样例说明

如果没有 * 也输出 YES