Die Herausforderung
Der kürzeste Code nach Zeichenanzahl, um Robot dabei zu helfen, das Kätzchen in möglichst wenigen Schritten zu finden.
Golfer, dies ist eine Zeit der Krise - Kätzchen wird vermisst und Robot muss es finden! Der Roboter muss Kitten auf dem kürzesten Weg erreichen. Es gibt jedoch viele Hindernisse, die Robot im Weg stehen, und Sie müssen eine Lösung für ihn programmieren.
Früher hatte Robot ein Programm, das es für ihn ausführte, aber dieses Programm ging verloren und Robot hat kein Backup :(.
Die Laufzeit von Robot ist nicht die beste und die wenigsten Zeichen, die Robot aus dem Quellcode lesen muss, die geringste Verarbeitungszeit, und das bedeutet, dass Kitten schneller gefunden wird!
Der Speicher des Roboters enthält eine Karte des Ortes, an dem er sich gerade befindet. Oben steht für Nord, unten für Süd, rechts für Ost und links für West. Der Roboter befindet sich immer in einem rechteckigen Raum unbekannter Größe, umgeben von Wänden, die #
in seiner Radarkarte dargestellt sind. Bereiche, in die der Roboter eintreten kann, werden durch ein Leerzeichen dargestellt .
Das Radar des Roboters sucht auch nach vielen Hindernissen im Raum und markiert sie mit verschiedenen ASCII-Buchstaben. Der Roboter kann diese Hindernisse nicht überwinden. Das Radar markiert Kätzchen als ASCII-Sonderzeichen K
, während der Standort des Roboters mit gekennzeichnet ist R
.
Das Navigationssystem des Roboters funktioniert folgendermaßen: Er kann ein Richtungsduo und die Anzahl der Bewegungseinheiten verstehen, zu denen er reisen soll, z. B. N 3
"3 Bewegungseinheiten nach Norden". Die Radarkarte des Roboters ist so aufgebaut, dass eine Bewegungseinheit aus einem ASCII-Zeichen besteht. Roboter können nur in 4 Richtungen fahren und nicht diagonal fahren.
Ihre Aufgabe, tapferer Kätzchen-Retter, ist es, die Radarkarte des Roboters einmal zu lesen und die geringste Anzahl von Richtungen mit der geringsten Bewegungsentfernung auszugeben. Robot hat garantiert mindestens einen Weg zu Kitten.
Um sicherzustellen, dass Robot keine Zeit damit verschwendet, ein fehlerhaftes Programm auszuführen, das Robot bei der Suche nach Kitten nicht hilft, ermutige ich Sie, tapferen Kitten-Retter, diese Ausgabe des früheren Programms von Robot zu verwenden, um sicherzustellen, dass keine Zeit für die Suche nach Kitten verschwendet wird!
Testfälle
Input:
######################
# d 3 Kj #
# #
# R #
# q #
######################
Output:
E 13
N 2
Input:
######################
# d r 3 Kj #
# p p #
# T X #
# q s t #
# #
# R o d W #
# #
# g t U #
# #
######################
Output:
N 1
E 10
N 4
E 2
Input:
######################
# spdfmsdlwe9mw WEK3#
# we hi #
# rdf fsszr#
# sdfg gjkti #
# fc d g i #
# dfg sdd #
# g zfg #
# df df #
# xcf R#
######################
Output:
N 1
W 9
N 5
E 4
N 1
E 4
N 1
Die Codezählung umfasst die Eingabe / Ausgabe (dh das vollständige Programm).