309711: CF1722F. L-shapes

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:26 Solved:0

Description

L-shapes

题意翻译

L形在网格纸上形如下面的前四张图片。L形正好包含三个阴影单元(用*表示),可以以任何方式旋转。 现给你一个矩形网格。确定它是否仅包含L形,其中L形不能接触边或角,也就是说网格中的每个阴影单元正好是一个L形的一部分,并且没有两个L形通过边或角相邻。 例如,上图中的最后两个网格不满足条件,因为两个L形分别通过角和边缘接触。 如果网格满足条件,则输出“YES”,否则输出“NO”。

题目描述

An L-shape is a figure on gridded paper that looks like the first four pictures below. An L-shape contains exactly three shaded cells (denoted by \*), which can be rotated in any way. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1722F/c4bb8e8c5c94521e87ed2d5ba5ef373384bb7be7.png)You are given a rectangular grid. Determine if it contains L-shapes only, where L-shapes can't touch an edge or corner. More formally: - Each shaded cell in the grid is part of exactly one L-shape, and - no two L-shapes are adjacent by edge or corner. For example, the last two grids in the picture above do not satisfy the condition because the two L-shapes touch by corner and edge, respectively.

输入输出格式

输入格式


The input consists of multiple test cases. The first line contains an integer $ t $ ( $ 1 \leq t \leq 100 $ ) — the number of test cases. The description of the test cases follows. The first line of each test case contains two integers $ n $ and $ m $ ( $ 1 \leq n, m \leq 50 $ ) — the number of rows and columns in the grid, respectively. Then $ n $ lines follow, each containing $ m $ characters. Each of these characters is either '.' or '\*' — an empty cell or a shaded cell, respectively.

输出格式


For each test case, output "YES" if the grid is made up of L-shape that don't share edges or corners, and "NO" otherwise. You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).

输入输出样例

输入样例 #1

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

输出样例 #1

YES
NO
NO
NO
YES
NO
NO
YES
NO
NO

Input

题意翻译

L形在网格纸上形如下面的前四张图片。L形正好包含三个阴影单元(用*表示),可以以任何方式旋转。 现给你一个矩形网格。确定它是否仅包含L形,其中L形不能接触边或角,也就是说网格中的每个阴影单元正好是一个L形的一部分,并且没有两个L形通过边或角相邻。 例如,上图中的最后两个网格不满足条件,因为两个L形分别通过角和边缘接触。 如果网格满足条件,则输出“YES”,否则输出“NO”。

Output

**题意翻译**

L形在网格纸上形如下面的前四张图片。L形正好包含三个阴影单元(用*表示),可以以任何方式旋转。

现给你一个矩形网格。确定它是否仅包含L形,其中L形不能接触边或角,也就是说网格中的每个阴影单元正好是一个L形的一部分,并且没有两个L形通过边或角相邻。

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

**题目描述**

L形是一个在网格纸上看起来像下面前四张图片的图形。一个L形包含三个阴影单元(用 \* 表示),这些单元可以以任何方式旋转。

你给定一个矩形网格。确定它是否仅包含L形,其中L形不能接触边缘或角。更正式地说:

- 网格中的每个阴影单元恰好是一个L形的一部分,并且
- 没有两个L形通过边缘或角相邻。

例如,图片中最后的两个网格不满足条件,因为两个L形分别通过角和边缘接触。

**输入输出格式**

**输入格式**

输入由多个测试案例组成。第一行包含一个整数 $ t $ ( $ 1 \leq t \leq 100 $ ) —— 测试案例的数量。测试案例的描述如下。

每个测试案例的第一行包含两个整数 $ n $ 和 $ m $ ( $ 1 \leq n, m \leq 50 $ ) —— 网格的行数和列数,分别。

然后是 $ n $ 行,每行包含 $ m $ 个字符。每个字符是 '.' 或 '\*' —— 分别表示一个空单元格或一个阴影单元格。

**输出格式**

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

你可以以任何大小写输出答案(例如,字符串 "yEs"、"yes"、"Yes" 和 "YES" 将被视为肯定答案)。

**输入输出样例**

**输入样例 #1**

```
10
6 10
........**
.**......*
..*..*....
.....**...
...*.....*
..**....**
6 10
....*...**
.**......*
..*..*....
.....**...
...*.....*
..**....**
3 3
...
***
...
4 4
.*..
**..
..**
..*.
5 4
.*..
**..
....
..**
..*.
3 2
.*
**
*.
2 3
*..
.**
3 2
..
**
*.
3 3
.**
*.*
**.
3 3
..*
.**
..*
```

**输出样例 #1**

```
YES
NO
NO
NO
YES
NO
NO
YES
NO
NO
```**题意翻译** L形在网格纸上形如下面的前四张图片。L形正好包含三个阴影单元(用*表示),可以以任何方式旋转。 现给你一个矩形网格。确定它是否仅包含L形,其中L形不能接触边或角,也就是说网格中的每个阴影单元正好是一个L形的一部分,并且没有两个L形通过边或角相邻。 例如,上图中的最后两个网格不满足条件,因为两个L形分别通过角和边缘接触。 **题目描述** L形是一个在网格纸上看起来像下面前四张图片的图形。一个L形包含三个阴影单元(用 \* 表示),这些单元可以以任何方式旋转。 你给定一个矩形网格。确定它是否仅包含L形,其中L形不能接触边缘或角。更正式地说: - 网格中的每个阴影单元恰好是一个L形的一部分,并且 - 没有两个L形通过边缘或角相邻。 例如,图片中最后的两个网格不满足条件,因为两个L形分别通过角和边缘接触。 **输入输出格式** **输入格式** 输入由多个测试案例组成。第一行包含一个整数 $ t $ ( $ 1 \leq t \leq 100 $ ) —— 测试案例的数量。测试案例的描述如下。 每个测试案例的第一行包含两个整数 $ n $ 和 $ m $ ( $ 1 \leq n, m \leq 50 $ ) —— 网格的行数和列数,分别。 然后是 $ n $ 行,每行包含 $ m $ 个字符。每个字符是 '.' 或 '\*' —— 分别表示一个空单元格或一个阴影单元格。 **输出格式** 对于每个测试案例,如果网格仅由不共享边缘或角的L形组成,则输出 "YES",否则输出 "NO"。 你可以以任何大小写输出答案(例如,字符串 "yEs"、"yes"、"Yes" 和 "YES" 将被视为肯定答案)。 **输入输出样例** **输入样例 #1** ``` 10 6 10 ........** .**......* ..*..*.... .....**... ...*.....* ..**....** 6 10 ....*...** .**......* ..*..*.... .....**... ...*.....* ..**....** 3 3 ... *** ... 4 4 .*.. **.. ..** ..*. 5 4 .*.. **.. .... ..** ..*. 3 2 .* ** *. 2 3 *.. .** 3 2 .. ** *. 3 3 .** *.* **. 3 3 ..* .** ..* ``` **输出样例 #1** ``` YES NO NO NO YES NO NO YES NO NO ```

加入题单

上一题 下一题 算法标签: