Крестики-нолики
시간 제한2초메모리 제한512 MB
주어진 판 조각에서 X가 즉시 이기거나, O의 어떤 응수에도 다음 수에 이기는 수의 개수를 센다.
문제
Пете и Васе стало очень скучно на уроке биологии, и они решили поиграть в любимую всеми школьниками игру в крестики-нолики до пяти в ряд на бесконечном поле.
Рассмотрим кратко правила игры. Игра происходит на бесконечном клетчатом поле, два игрока делают ходы по очереди, первый игрок ходит крестиками, а второй --- ноликами. В свой ход игрок выбирает свободную клетку поля и ставит туда свой символ. Если после хода очередного игрока на поле есть пять его символов подряд по вертикали, горизонтали или диагонали, то сделавший такой ход игрок объявляется победителем и игра заканчивается.
Петя и Вася уже довольно долго играют в игру. Сейчас должен ходить Петя, который играет крестиками. Петя надеется побыстрее завершить игру и хочет выиграть не более чем за два, а лучше за один ход. Петя называет ход оптимальным, если для этого хода выполнено одно из двух:
- этот ход приводит к немедленной победе Пети;
- не существует хода, который приводит к немедленной победе Пети, но если Петя сделает этот ход, то Вася не выиграет следующим ходом и, вне зависимости от ответного хода Васи, у Пети будет следующий ход, который приведет к его немедленной победе.
Помогите Пете найти количество оптимальных ходов.
입력
В первой входного файла находятся два натуральных числа , () --- размеры прямоугольника, содержащего все уже поставленные на поле крестики и нолики.
Следующие строк содержат по символов, каждый из которых равен одному из следующих: <<.>> (точка), <<X>> (заглавная латинская буква <<икс>>) или <<0>> (ноль). При этом <<.>> обозначает пустую клетку, <<X>> обозначает крестик, а <<0>> обозначает нолик. Гарантируется, что на поле находится равное число крестиков и ноликов, и ни один игрок еще не одержал победу.
출력
Выведите одно число --- количество оптимальных ходов Пети.