Codeforces Round 390 (Div. 2) |
---|
Закончено |
Илья заядлый игрок в крестики-нолики на поле 4 × 4. Илья всегда начинает ходить первым и ходит крестиком. Сегодня он сыграл очень много игр со своим другом Арсением. Друзья очень устали и не доиграли одну игру. Следующий ход в недоигранной игре за Ильей. Помогите определить, можно ли было Илье, сделав ровно один ход, выиграть Арсения.
Напомним правила игры в крестики-нолики на поле 4 × 4. Перед первым ходом все клетки поля пустые. Игроки по-очереди ставят свои знаки (первый игрок крестики, второй игрок нолики) на свободные клетки. Первый ход делает игрок, который ходит крестиком. Второй игрок ходит ноликом. Выигрывает тот игрок, который смог первым поставить три своих знака в ряд рядом друг с другом (по горизонтали, вертикали или диагонали).
Состояние игры в крестики-нолики задано в четырех строках входных данных.
Каждая из строк содержит по четыре подряд идущих символа. Каждый из символов равен '.' (свободная клетка), 'x' (маленькая латинская буква x) либо 'o' (маленькая латинская буква o). Гарантируется, что во входных данных дано состояние, которое может получиться при игре в крестики-нолики, и следующий ход за Ильей (в частности, это означает, что игра не окончена). Также во входных данных может быть задано пустое поле игры в крестики-нолики. Это значит, что друзья устали не сделав ни хода.
В единственную строку выходных данных необходимо вывести «YES», если Илья мог бы выиграть ровно за один ход. Иначе следует вывести «NO».
xx..
.oo.
x...
oox.
YES
x.ox
ox..
x.o.
oo.x
NO
x..x
..oo
o...
x.xo
YES
o.x.
o...
.x..
ooxx
NO
В первом примере у Ильи было два возможных хода для победы — это ход в самую левую свободную клетку и ход в самую левую свободную клетку в первой строке.
Во втором тестовом примере победить за один ход невозможно.
В третьем тестовом примере существует всего один возможный ход для победы Ильи — ход в самую нижнюю свободную клетку между двумя крестиками.
В четвертом тестовом примере победить за один ход невозможно.
Название |
---|