ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1947. Меандр

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Problem illustration
Робот-гроссмейстер E2E4 с позором уступил в 1/128 финала чемпионата галактики по игре «меандр». Он практически довёл партию до победы, но совершил неслыханную ошибку — просто не увидел победный ход! Окрылённый этой ошибкой соперник воспользовался шансом и выиграл. Похоже, что модуль искусственного интеллекта E2E4 начал сбоить. Сможете ли вы быстро помочь роботу, сделав так, чтобы он больше не проигрывал партии в «меандр» столь обидным образом?
Для игры «меандр» используют 24 квадратные плитки, которые выкладываются на игровое поле, состоящее из 25 клеток, так, чтобы одна клетка осталась свободной. Если смотреть на поле сверху, то на двенадцати плитках изображён узор первого типа, а на других двенадцати — узор второго типа (см. рисунок справа). Один из вариантов начального положения изображён на рисунке справа сверху.
Problem illustration
Игроки ходят по очереди. За один ход игрок может одновременно сдвинуть одну, две, три или четыре плитки вдоль одной из сторон игрового поля. Плитки перемещаются по поверхности доски, поворачивать их нельзя. Игра продолжается до тех пор, пока один из игроков не выиграет, сложив узор, в котором по крайней мере три плитки образуют непрерывную линию, соединяющую два края доски (либо противоположные, либо смежные, сходящиеся в одном углу). Такой узор показан на рисунке слева (линия соединяет левый и нижний края доски).
Напишите программу, которая определяет, является ли заданный узор победным, и, если нет, то можно ли получить из него победный узор за один ход.

Исходные данные

Входные данные представляют собой пять строк по пять символов в каждой строке. Символом «*» обозначается свободная клетка. Символом «/» обозначается плитка с узором первого типа, а символом «\» — плитка с узором второго типа. Гарантируется, что входные данные содержат ровно один символ «*» и по двенадцать символов «/» и «\».

Результат

Выведите «WIN», если узор уже является победным. Если узор не является победным, но есть ход, переводящий его в победный, выведите этот ход. Ход описывается двумя символами: первый задаёт направление движения («L» — влево, «R» — вправо, «D» — вниз, «U» — вверх), а второй — количество сдвигаемых плиток (от 1 до 4). Например, «U2» задаёт ход «сдвинуть две плитки вверх». Если существует несколько ходов, переводящих заданный узор в победный, выведите любой из них. Если узор не является победным и его нельзя перевести в победный за один ход, выведите единственную строку «FAIL».

Примеры

исходные данныерезультат
*/\//
\/\\\
\////
/\\\\
\//\/
WIN
\/\/\
\/\//
//\/*
\\\/\
\//\/
D2
Автор задачи: Андрей Демидов
Источник задачи: Открытое личное первенство УрФУ по программированию 2012