Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
После завтрака друзья решили сыграть в свою любимую игру “меандр”, требующую от игроков недюжинного
интеллекта и необычайного хитроумия.
Трурль сделал очередной ход, но через секунду воскликнул:
– Черт, не надо было мне так ходить.
Трурль потянулся к доске.
– Нет уж, перехаживать нельзя, – возразил Клапауций.
– Теперь ты можешь выиграть, если только найдешь как.
Трурль откинулся в кресле и начал фальшиво насвистывать. Клапауций пытался сообразить,
какой из восьми возможных ходов позволит ему добиться победы. “Хорошо бы воспользоваться помощью компьютера,
он бы быстро рассмотрел все варианты и подсказал верный ход”. И Клапауций представил, что компьютер в
форме кольца надет у него на палец, и стоит только протянуть руку к нужной фишке, как компьютер…
– Хватит руками над доской водить, ходи, наконец! – Голос Трурля прервал мечты Клапауция.
В игре “меандр” 24 одинаковые плитки раскладывают на доске с бортиками так, как показано на рисунке
справа вверху. Одна клетка остается свободной. Игроки делают ходы поочередно, перемещая одну
плитку или столбик из двух, трех или четырех плиток, расположенных по горизонтали или вертикали.
Плитки перемещаются по поверхности доски, их нельзя поворачивать. Игра продолжается до тех пор,
пока один из игроков не выиграет, сложив узор, в котором по крайней мере три плитки образуют непрерывную линию,
соединяющую два края доски (либо противоположные, либо смежные, сходящиеся в одном углу). Такой
узор показан на рисунке слева (победная линия выделена жирной линией).
Напишите программу, которая подсказывает игроку, что уже получен победный узор, или каким
ходом можно получить победный узор.
Во входном файле содержится пять строк по пять символов в каждой строке. Символом ‘
*’ обозначается
свободная клетка. Символом ‘
/’ обозначается плитка
, а символом ‘
\’ – плитка
. Во входном файле ровно один символ ‘
*’ и по 12 символов ‘
/’ и ‘
\’.
В выходной файл вывести или сообщение WIN, если узор уже является победным, или ход, который создает
из заданного непобедного узора победный узор, в форме направление движения (L – влево,
R – вправо, D – вниз, U – вверх) и количество сдвигаемых
плиток (от 1 до 4), например, U2 (если существует несколько вариантов, то
вывести один (любой) из них), или сообщение NO WIN, если задан непобедный узор и добиться победы одним ходом невозможно.
Пример ввода
*/\//
\/\\\
\////
/\\\\
\//\/