Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Сэм и Макс играют в следующую игру. Игра ведется с помощью листа бумаги, разделенного на `N`x`M` клеток. Некоторые клетки окрашены в черный цвет. В процессе игры лист разрезается на части. Игроки ходят по очереди. Ход заключается в следующем. Игрок берет одну из образовавшихся в процессе игры частей и вырезает из нее столбец или строку (т.е. полоску клеток `n`x1 или 1x`m`), содержащую хотя бы одну черную клетку. Вырезанный столбец или строка уничтожается и больше в игре не используется. При выполнении хода выбранная игроком часть может разделиться на две или может быть уничтожена, если она состояла из одной строки или столбца. Проигрывает тот, кто не может сделать очередной ход.
Напишите программу, которая вычисляет, кто из игроков побеждает на заданном начальном листе при безошибочной игре обоих участников.
В первой строке ввода содержатся два целых числа `N` и `M` (`1\ ≤\ N,\ M\ ≤\ 20`) – размеры листа. Далее следует `N` строк, в каждой строке `M` символов – раскраска клеток листа. Черная клетка обозначается символом '#', белая – символом '.'.
Вывести одно целое число – номер игрока, который выиграет на заданном начальном листе.
Пример ввода
3 2
##
..
#.