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

Ural SU contest. Petrozavodsk training camp. Summer 2010

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

C. Разрезание параллелепипеда

Ограничение времени: 0.5 секунды
Ограничение памяти: 64 МБ
Младший брат Эрнеста потерял свой кубик Рубика. На следующий день он притащил домой ножовку. Его целью был прямоугольный параллелепипед Эрнеста, все шесть граней которого были покрашены в разные цвета…
Когда Эрнест увидел, что происходит, брат уже сделал несколько распилов, параллельных граням параллелепипеда. Распилы проходили через весь параллелепипед. После того как все распилы были сделаны, параллелепипед распался на куски. Помогите Эрнесту определить для каждого куска его исходное место в параллелепипеде.

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

В первой строке описан исходный параллелепипед. Сперва через пробел записаны целые числа w, d и h (1 ≤ w, d, h ≤ 1 000) — расстояние между передней и задней гранью, между нижней и верхней гранью и между левой и правой гранью, соответственно. Затем идёт строка из шести символов — цвета граней. Цвет задаётся одним из символов «R», «O», «Y», «G», «B», «V». Передняя нижняя левая вершина имеет координаты (0, 0, 0), а задняя верхняя правая — (w, d, h). Цвета граней описываются в порядке: передняя, задняя, нижняя, верхняя, левая, правая. Во второй строке записано число n (1 ≤ n ≤ 1 000) — количество кусков. В следующих n строках эти куски описываются в том же формате, что и исходный параллелепипед. Если какая-либо грань куска не была внешней, то её цвет задаётся символом «.».

Результат

Для каждого куска опишите его расположение в исходном параллелепипеде. Сперва выведите символ, обозначающий грань, которая должна стать передней, затем через пробел символ, обозначающий грань, которая должна стать нижней, а затем выведите координаты передней нижней левой вершины этого куска в исходном параллелепипеде. Для обозначения передней грани используется символ «F», задней — «B», нижней — «D», верхней — «U», левой — «L», правой — «R». Положение кусков следует описывать в том же порядке, в котором они заданы на входе. Если решений несколько, выведите любое. Гарантируется, что решение существует.

Пример

исходные данныерезультат
2 2 2 ROYGBV
2
1 2 2 R.YGBV
2 2 1 YGVBO.
F D 0 0 0
R F 1 0 0
Автор задачи: Михаил Рубинчик
Источник задачи: Ural SU Contest. Petrozavodsk Summer Session, August 2010
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 1843. Разрезание параллелепипеда