printРабочее место участника

printЗадачи

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

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

Клетки доски размером `N\ times\ 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