Einführung
Eine Robbenfamilie ist auf einem Eisberg am Polarkreis gestrandet. Auf dem Eisberg befindet sich ein Funksender, mit dem die Robben um Hilfe rufen können. Allerdings weiß nur der Robbenvater, wie man den Funksender bedient. Schlimmer noch, das Eis ist zu dieser Jahreszeit sehr rutschig, sodass die Robben unkontrolliert rutschen, bis sie auf ein anderes Siegel treffen oder von der Kante des Eisbergs rutschen, was es für den Robbenvater sehr schwierig macht, den Funksender zu erreichen. Glücklicherweise ist eine der Robben eine Informatikerin, und sie beschließt, ein Programm zu schreiben, um herauszufinden, wie man die Papa-Robbe zum Funksender manövriert. Da auf dem Eis nicht viel Platz ist, um ein Programm zu schreiben, beschließt sie, das Programm so wenig Bytes wie möglich zu verwenden.
Eingabebeschreibung
Das Programm des Siegels nimmt Eingaben über STDIN, Befehlszeilenargumente oder Benutzereingabefunktionen (z. B. raw_input()) entgegen. Es kann nicht in einer Variablen vorinitialisiert werden (zB "Dieses Programm erwartet die Eingabe in eine Variable x").
Die erste Zeile der Eingabe besteht aus zwei durch Kommas getrennten Ganzzahlen im Formular
A,B
Daran schließen sich BZeilen an, die jeweils aus AZeichen bestehen. Jede Zeile darf nur folgende Zeichen enthalten:
.: Der kalte, kalte Ozean. Auf der Karte wird dies immer als Rahmen angezeigt.#: Ein Teil des Eisbergs.a...z: Ein Siegel, das nicht das Papasiegel auf dem Eisberg ist.D: Das Papasiegel auf dem Eisberg.*: Der Funksender.
(Beachten Sie, dass das Papa-Siegel immer in Großbuchstaben Dgeschrieben dist . Ein Kleinbuchstabe ist einfach ein reguläres Siegel.)
Ausgabebeschreibung
Geben Sie gemäß den folgenden Regeln für die Bewegung der Robben eine Liste mit Anweisungen für die Robben aus, wie sie sich bewegen sollen, um die Papa-Robbe zum Funksender zu bringen.
- Regel: Alle Siegel können sich nach oben (
U), unten (D), links () bewegen.L) und rechts (R) . Sie können nicht diagonal gleiten. - Regel: Beim Bewegen bewegt sich ein Seehund so lange in die gleiche Richtung, bis er mit einem anderen Seehund kollidiert oder ins Meer fällt.
- Wenn eine Robbe mit einer anderen Robbe kollidiert, hört sie auf, sich zu bewegen. Das Siegel, mit dem es kollidierte bewegt sich nicht .
- Wenn ein Seehund ins Meer fällt, wird er ertrinken und von der Karte verschwinden. Das heißt, es wirkt nicht als Kollider für andere Siegel und kann nicht erneut bewegt werden.
- Regel: Zwei Siegel können sich nicht gleichzeitig bewegen, und ein Siegel kann auch nicht bewegt werden, während sich ein anderes noch bewegt. Das nächste Siegel kann nur bewegt werden, wenn sich das vorherige Siegel nicht mehr bewegt.
- Regel: Es gibt keine Einschränkung hinsichtlich des mehrfachen Verschiebens eines Siegels oder der Anzahl der ertrinkenden Siegel.
- Regel: Eine richtige Lösung , um die Papi Dichtung hat Ende am Funksender. Die Papa-Dichtung kann den Sender beim Gleiten nicht einfach passieren .
Die Ausgabe besteht aus mehreren Zeilen, jede in der Form
A,B
Wo Adie Dichtung (bewegt Dzum Papi Dichtung, a... zfür die anderen), und Bist die Richtung , um die Dichtung zu bewegen (entweder U, D, L, oder R). Beachten Sie, dass Sie nicht die kürzeste Route finden müssen.Jeder Weg, der das Papa-Siegel zum Ziel bringt, ist eine akzeptable Leistung.
Beispiel Ein- und Ausgänge
Eingang:
25,5
.........................
.#######################.
.####D#############*k###.
.#######################.
.........................
Ausgabe:
D,R
Eingang:
9,7
.........
.a#####b.
.#####d#.
.##l*###.
.###m#p#.
.#D#.#c#.
.........
Ausgabe (eine mögliche Ausgabe von vielen):
m,R
b,L
D,U
D,R
D,D
D,L
Eingang:
26,5
..........................
.###..................###.
.l*##########v#########D#.
.###..................###.
..........................
Ausgabe (eine mögliche Ausgabe von vielen):
v,D
D,L
Wenn Sie weitere Fragen haben, stellen Sie diese bitte in den Kommentaren.