- Описание
- Отправленные решения
29. Крестики-нолики
Вам дано клетчатое поле произвольного размера . На этом поле Вася с Петей рисовали крестики и нолики. Они быи так увлечены рисованием, что совсем забыли правила игры. Они не следили за очередностью ходов и не проверяли, выиграли ли они. Им наскучило рисовать и они решили закончить играть.
От Вас требуется проверить, закончена ли игра на данном поле. В рамках данной задачи считается, что игрок выигрывает в крестики-нолики, если его символ встречается 5 раз подряд по вертикали, горизонтали или диагонали. Заметьте, что поскольку Вася с Петей не следили за игрой, возможна ситуация, когда они оба выиграли.
Формат ввода
В первой строке заданы два числа () — размер игрового поля.
В следующих строках задано текстовое описание поля: каждая строка содержит символов, каждый из которых является одним из трёх символов: .
, X
или O
. Эти символы соответствуют пустой клетке, клетке с крестиком и клетке с ноликом соответственно.
Формат вывода
Выведите Yes
, если один из игроков выиграл, и No
, если иначе.
Примечание
В первом тесте игроки ставили свои символы в одну строчку, и играющий за нолики выиграл, собрав пять ноликов в ряд.
Во втором тесте выиграли нолики, которые заполнили последний столбец.
Ограничения
Ограничение времени
1 с
Ограничение памяти
256 МБ
Пример 1
2 5
XXXX.
OOOOO
Yes
Пример 2
5 6
XX...O
.XXXXO
.....O
.....O
.....O
Yes