Einführung
"Yarr !! Wir hatten einen Burschen, der sich" Programmierer "nannte, der eine Karte zu unserem verborgenen Schatz machte! Aber es ist mit seltsamen Zahlen und Buchstaben geschrieben!" E5, N2, E3 "... was macht das überhaupt? Wahnsinn! Ich kann nicht mal eine richtige Schatzkarte schreiben, das ist ein nutzloser Schwachsinn. Repariere es für uns! Wir schenken dir einen Teil des Schatzes! "
Herausforderungsbeschreibung
Eine Gruppe von Piraten hat Probleme, eine Schatzkarte zu lesen. Können Sie ein Programm schreiben, um es in eine ... piratey Form umzuwandeln?
Als Eingabe erhalten Sie die Original-Schatzkarte. Es ist eine Liste von durch Kommas getrennten Zeichenfolgen, wobei jede Zeichenfolge aus einem Buchstabenabschnitt (der den Piraten mitteilt, in welche Richtung sie gehen müssen) und einem Zahlenabschnitt (der den Piraten mitteilt, wie viele Schritte sie in diese Richtung ausführen müssen) besteht. Zum Beispiel die folgende Schatzkarte:
E2,N4,E5,S2,W1,S3
würde bedeuten: "Gehe zwei Schritte nach Osten, gehe vier Schritte nach Norden, gehe fünf Schritte nach Osten, gehe zwei Schritte nach Süden, gehe einen Schritt nach Westen und dann drei Schritte nach Süden."
Als Ausgabe, werden Sie die Karte in graphischer Form ausgegeben, mit den Zeichen >
, ^
, v
, und <
als Zeiger. Hier ist die Ausgabe für die obige Eingabe:
>>>>>v
^ v
^ v<
^ v
>>^ X
Beachten Sie, dass wir X
stattdessen den letzten Schritt nach Süden durch einen ersetzt haben . Dies liegt daran, dass der letzte Schritt darin besteht, den Schatz zu finden, und Piraten müssen, wie wir alle wissen, ein X auf ihren Schatzkarten haben, sonst wissen sie nicht, wie sie ihn lesen sollen.
Übrigens, die Karte wird sich nie selbst kreuzen, sodass Sie sich nicht um Überlappungen kümmern müssen. Außerdem darf am Ende der Ausgabe eine nachgestellte neue Zeile stehen.
Beispieleingänge und -ausgänge
S5,W2
v
v
v
v
v
X<
N1,E1,S1,E1,N1,E1,S2
>v>v
^>^X
N1
X
N6,E6,S6,W5,N5,E4,S4,W3,N3,E2,S2,W1,N2
>>>>>>v
^>>>>vv
^^>>vvv
^^^Xvvv
^^^^<vv
^^^<<<v
^^<<<<<
E21,S2
>>>>>>>>>>>>>>>>>>>>>v
X
N12,E11,S12,W2,N4
>>>>>>>>>>>v
^ v
^ v
^ v
^ v
^ v
^ v
^ v
^ v
^ X v
^ ^ v
^ ^ v
^ ^<<
X
sollte den Schritt nach dem letzten Zug markieren , so wie alle anderen Züge gezählt werden. Stellen Sie sich vor, der letzte Schritt ist N3: Sie gehen drei Schritte nach Norden und graben, aber hier gibt es nichts, Sie mussten stattdessen zwei Schritte gehen. Es macht mir nichts aus, wenn Sie die bestehende Regel beibehalten, da sie einen kleinen Eckfall hinzufügt, der behandelt werden muss. Aber denk dran, was mit dem Jungen passiert ist.