Вступление
Семейство тюленей застряло на айсберге за Полярным кругом. На айсберге находится радиопередатчик, с помощью которого тюлени могут звать на помощь. Однако только папина печать умеет управлять радиопередатчиком. И что еще хуже, в это время года лед очень скользкий, поэтому пломбы будут бесконтрольно скользить, пока не столкнутся с другой пломбой или не соскользнут с края айсберга, из-за чего папа-тюлень будет очень трудно добраться до радиопередатчика. К счастью, одна из печатей - ученый, поэтому она решает написать программу, чтобы выяснить, как маневрировать папиной печатью на радиопередатчик. Поскольку на льду не так много места для написания программы, она решает, чтобы программа использовала как можно меньше байтов.
Описание входа
Программа печати будет принимать входные данные из STDIN, аргументов командной строки или пользовательских функций ввода (например, raw_input()
). Он не может быть предварительно инициализирован в переменной (например, «Эта программа ожидает ввода в переменную x
»).
Первая строка ввода состоит из двух целых чисел, разделенных запятыми, в виде
A,B
Далее следуют B
строки, состоящие из A
символов каждая. Каждая строка может содержать только символы из следующих:
.
Холод, холодно, океан. Карта всегда будет иметь эту границу.#
: Часть айсберга.a
...z
: Печать, которая не является печатью папы на айсберге.D
: Печать папы на айсберге.*
: Радиопередатчик.
(Обратите внимание, что печать папы всегда обозначается заглавной D
буквой. Строчная буква d
- просто обычная печать.)
Описание выхода
В соответствии со следующими правилами относительно того, как пломбы могут двигаться, выведите список инструкций для пломб о том, как они должны двигаться, чтобы получить отцовскую печать на радиопередатчик.
- Правило: все печати могут двигаться вверх (
U
), вниз (D
), влево (L
) и вправо (R
). Они не могут скользить по диагонали. - Правило: После перемещения тюлень будет продолжать двигаться в том же направлении, пока не столкнется с другим тюленем или не упадет в море.
- Если печать сталкивается с другой печатью, она перестает двигаться. Печать, с которой он столкнулся, не будет двигаться.
- Если тюлень упадет в море, он утонет и исчезнет с карты. То есть он не действует как коллайдер для других печатей и не может быть снова перемещен.
- Правило: две печати не могут двигаться одновременно, и печать не может быть перемещена, пока другая еще движется. Следующая печать может быть перемещена только после того, как предыдущая печать перестала двигаться.
- Правило: не существует ограничений в отношении многократного перемещения печати или количества утопающих печатей.
- Правило: правильное решение будет иметь конец папа печать на радиопередатчик. Папа печать не может просто пройти передатчик во время скольжения.
Вывод будет состоять из нескольких строк, каждая в форме
A,B
Где A
это уплотнение для перемещения ( D
для папы печати, a
... z
для других), и B
направление , чтобы переместить печать (или U
, D
, L
или R
). Обратите внимание, что вам не нужно искать кратчайший маршрут. Любой маршрут, который получает отцовскую печать к цели, является приемлемым результатом.
Пример входов и выходов
Входные данные:
25,5
.........................
.#######################.
.####D#############*k###.
.#######################.
.........................
Выход:
D,R
Входные данные:
9,7
.........
.a#####b.
.#####d#.
.##l*###.
.###m#p#.
.#D#.#c#.
.........
Вывод (один возможный вывод из многих):
m,R
b,L
D,U
D,R
D,D
D,L
Входные данные:
26,5
..........................
.###..................###.
.l*##########v#########D#.
.###..................###.
..........................
Вывод (один возможный вывод из многих):
v,D
D,L
Если у вас есть другие вопросы, пожалуйста, задавайте в комментариях.