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

1657. Змейка-куб

Ограничение времени: 2.0 секунды
Ограничение памяти: 64 МБ
Problem illustration
Команде программистов перед туром четвертьфинала подарили несколько головоломок от интернет-магазина ru-toys.ru. Самая вредная из них — змейка-куб: стоит её неосторожно схватить, и она немедленно разворачивается, а чтобы свернуть змейку обратно в куб, приходится тратить драгоценное время соревнования. Поэтому они решили быстро написать программку, которая будет решать задачу в общем виде: определять, можно ли свернуть в куб змейку произвольной конфигурации, и если можно, то как это сделать.
Problem illustration
Змейка состоит из 27 кубиков, надетых, словно бусы, на прочную нить. Нить закреплена внутри крайних кубиков, а через все остальные проходит насквозь от центра одной грани к центру другой. Только через одни кубики нить проходит прямо — через противоположные грани, а в других поворачивает, проходя через смежные грани кубика. Нить не дает кубикам раздвигаться, но позволяет свободно вращать одну часть кубиков относительно другой. Задача — не разрывая нить, свернуть змейку в куб размером 3 × 3 × 3 маленьких кубика.

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

В единственной строке записано 27 букв, описывающих конфигурацию змейки как последовательность «прямых» (обозначаются буквой «F») и «поворачивающих» (обозначаются буквой «T») кубиков. Крайние кубики считаются прямыми.

Результат

Если из данной змейки можно сложить куб, то выведите 26 букв, описывающих последовательность сворачивания змейки в виде положения каждого следующего кубика относительно предыдущего. Первым считается первый кубик из входной строки. Каждый последующий кубик может находиться впереди («F»), сзади («B»), справа («R»), слева («L»), сверху («U»), или снизу («D») от предыдущего.
Если из данной змейки кубик сложить невозможно, выведите слово «IMPOSSIBLE».

Примеры

исходные данныерезультат
FFTTTFTTFTTTFTFTTTTFTFTFTFF
UURDFFRBBUFLLDDRBRFFLLUURR
FFTFTFTFTTTTFFFTTTFTTFTTTFF
IMPOSSIBLE
Автор задачи: Станислав Васильев (подготовка — Сергей Пупырев)
Источник задачи: NEERC 2008, Четвертьфинал Восточного подрегиона