Wprowadzenie
Rodzina fok utknęła na górze lodowej w kole podbiegunowym. Na górze lodowej znajduje się nadajnik radiowy, za pomocą którego foki mogą wezwać pomoc. Jednak tylko pieczęć tatusia wie, jak obsługiwać nadajnik radiowy. Co gorsza, lód jest bardzo śliski o tej porze roku, więc foki będą ślizgały się w sposób niekontrolowany, dopóki nie uderzą w kolejną pieczęć lub ześlizgną się z krawędzi góry lodowej, co utrudnia tatusiowi dotarcie do nadajnika radiowego. Na szczęście jedna z pieczęci jest informatykiem, więc postanawia napisać program, aby dowiedzieć się, jak manewrować pieczęcią tatusia do nadajnika radiowego. Ponieważ na lodzie nie ma dużo miejsca na napisanie programu, postanawia sprawić, by program używał jak najmniej bajtów.
Opis wejścia
Program pieczęci pobiera dane wejściowe z STDIN, argumenty wiersza poleceń lub funkcje wprowadzania danych przez użytkownika (takie jak raw_input()). Nie można go zainicjować w zmiennej (np. „Ten program oczekuje danych wejściowych w zmiennej x”).
Pierwszy wiersz danych wejściowych składa się z dwóch liczb całkowitych oddzielonych przecinkiem w formularzu
A,B
Poniżej znajdują się Bwiersze składające się ze Aznaków. Każda linia może zawierać tylko znaki spośród następujących:
.: Zimno, zimno, ocean. Mapa zawsze będzie miała tę granicę.#: Część góry lodowej.a...z: Pieczęć, która nie jest tatusiem na górze lodowej.D: Foka tatusia na górze lodowej.*: Nadajnik radiowy.
(Pamiętaj, że pieczęć tatusia jest zawsze oznaczona wielką Dliterą. Mała litera djest po prostu zwykłą pieczęcią).
Opis wyjścia
Zgodnie z następującymi zasadami dotyczącymi sposobu przemieszczania się pieczęci, wypisz listę instrukcji dla pieczęci, w jaki sposób powinny się one poruszać, aby dostać pieczęć tatusia do nadajnika radiowego.
- Reguła: Wszystkie pieczęcie mogą poruszać się w górę (
U), w dół (D), w lewo (L) i w prawo (R). Nie mogą się przesuwać po przekątnej. - Reguła: Podczas ruchu pieczęć będzie się poruszać w tym samym kierunku, aż zderzy się z inną pieczęcią lub wpadnie do morza.
- Jeśli pieczęć zderzy się z inną pieczęcią, przestanie się poruszać. Pieczęć, z którą zderzył się, nie będzie się poruszać.
- Jeśli foka wpadnie do morza, utonie i zniknie z mapy. Oznacza to, że nie działa on jako zderzacz dla innych pieczęci i nie można go ponownie przenieść.
- Reguła: Dwie pieczęcie nie mogą się poruszać w tym samym czasie, nie można też przesunąć pieczęci, gdy inna jest w ruchu. Następną pieczęć można przenieść dopiero, gdy poprzednia pieczęć przestanie się poruszać.
- Reguła: Nie ma ograniczeń dotyczących wielokrotnego przenoszenia pieczęci lub liczby tonących pieczęci.
- Reguła: Prawidłowe rozwiązanie będzie miało koniec pieczęci na nadajniku radiowym. Tatuś nie może po prostu przejść nadajnika podczas przesuwania.
Wynik będzie składał się z kilku wierszy, każdy w formie
A,B
Gdzie Ajest uszczelka przenieść ( Ddla tatusia uszczelki, a... zdla innych), i Bjest to kierunek, aby przesunąć uszczelkę (albo U, D, L, lub R). Pamiętaj, że nie musisz znajdować najkrótszej trasy. Każda droga, która prowadzi pieczęć tatusia do celu, jest akceptowalnym wyjściem.
Przykładowe wejścia i wyjścia
Wejście:
25,5
.........................
.#######################.
.####D#############*k###.
.#######################.
.........................
Wynik:
D,R
Wejście:
9,7
.........
.a#####b.
.#####d#.
.##l*###.
.###m#p#.
.#D#.#c#.
.........
Wyjście (jedno możliwe wyjście z wielu):
m,R
b,L
D,U
D,R
D,D
D,L
Wejście:
26,5
..........................
.###..................###.
.l*##########v#########D#.
.###..................###.
..........................
Wyjście (jedno możliwe wyjście z wielu):
v,D
D,L
Jeśli masz inne pytania, zadaj je w komentarzach.