CF1722F L-shapes

题目描述

L 形是指在方格纸上如下图所示的图形,包含恰好三个被涂色的格子(用 \* 表示),可以任意旋转。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1722F/c4bb8e8c5c94521e87ed2d5ba5ef373384bb7be7.png) 给定一个矩形网格,判断其中是否只包含 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" 都被视为肯定答案)。

说明/提示

由 ChatGPT 4.1 翻译