Олимпиадный тренинг

Задача . F. L-фигуры


L-фигура это фигура на клетчатой бумаге, выглядящая как одна из четырех первых фигур на картинке ниже. L-фигура содержит ровно три закрашенных клетки (обозначаемых как *), которые могут быть повернуты в любую сторону.

Вам дана прямоугольная сетка из клеток. Определите, содержит ли она только L-фигуры, которые не соприкасаются друг с другом ни одним углом и ни одной стороной. Более формально:

  • Каждая закрашенная клетка в сетке является частью ровно одной L-фигуры и
  • нет двух L-фигур, которые бы соприкасались углом или стороной.

Например, последние две сетки на картинке выше не удовлетворяют требованиям, потому что есть две L-фигуры, соприкасающихся углами и стороной соответственно.

Входные данные

Входные данные состоят из множества тестовых случаев. Первая строка содержит одно целое число \(t\) (\(1 \leq t \leq 100\)) — количество тестовых случаев. Затем следуют описания тестовых случаев.

Первая строка каждого тестового случая содержит два целых числа \(n\) и \(m\) (\(1 \leq n, m \leq 50\)) — количество строк и столбцов в сетке соответственно.

Затем следуют \(n\) строк, содержащих \(m\) символов. Каждый символ это либо «.», либо «*» — пустая или закрашенная клетка соответственно.

Выходные данные

Для каждого тестового случая выведите «YES» если сетка состоит только из L-фигур, не касающихся друг друга углами или сторонами, иначе «NO».

Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» and «YES» будут считаться за положительный ответ).


Примеры
Входные данныеВыходные данные
1 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

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя