Обработка математики: 100%
 

printЗадачи очного тура личного первенства

printG. Разрезание доски

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Клетки доски размером N × M покрашены в черный и белый цвета случайным образом. Необходимо определить, можно ли ее разрезать по клеткам на прямоугольники из двух клеток, имеющих разные цвета.
Первая строка ввода содержит два целых числа N и M (1  N, M  10). Далее следует N строк, содержащих по M символов. Символ '.' означает клетку белого цвета на доске, а символ '#' – черного.
Выведите сообщение "Yes", разрезание можно выполнить, затем любой из способов разрезания, как N строк по M букв. Для обозначения разных частей доски, получаемых при разрезании, нужно использовать разные буквы от 'A' до 'Z' и от 'a' до 'z'. Если доску разрезать нельзя, выведите только сообщение "No".

Пример ввода 1

2 3
##.
.#.

Пример вывода 1

Yes
ABB
ACC

Пример ввода 2

2 3
##.
#..

Пример вывода 2

No
loading