Вступ
Сімейство тюленів сидить на айсберзі в Полярному колі. На айсберзі є радіопередавач, який печатки можуть використовувати для виклику допомоги. Однак керувати радіопередавачем знає лише татовий друк. І що ще гірше, льоду в цей час року дуже слизько, тому тюлені будуть безконтрольно ковзати до тих пір, поки вони не потраплять на іншу пломбу або ковзають з краю айсберга, що дуже ускладнює дітям печатку, щоб дістатись до радіопередавача. На щастя, одна з печаток - комп'ютер, тому вона вирішує написати програму, щоб зрозуміти, як маневрувати печаткою тата на радіопередавачі. Оскільки на льоду не так багато місця для написання програми, вона вирішує змусити програму використовувати якомога менше байтів.
Опис вводу
Програма печатки прийматиме дані з 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
Якщо у вас є інші питання, будь ласка, запитайте їх у коментарях.