Herausforderung
Als ich um Marks and Spencers herumging, bemerkte ich, dass sie zufällig Klimaanlagen im Laden hatten. Um cool zu bleiben, fragte ich mich, wie ich mich am einfachsten im ganzen Geschäft bewegen konnte, ohne zu lange von einer Klimaanlage entfernt zu sein.
Bei einer gegebenen Karte müssen Sie einen Weg finden, um die gesamte Karte zu umrunden und den Abstand zu einer Klimaanlage so kurz wie möglich zu halten (auch wenn sich die Klimaanlage auf der anderen Seite einer Wand befindet).
Karte
Die Karte kann beliebig geliefert werden und verwendet die folgenden Symbole:
+ is a corner of a wall
| is a east/west facing wall
- is a north/south facing wall
X is an air conditioning unit
S is the start and end point
Eine Beispielkarte wäre:
+------S---+
| X |
| ---+-+ X |
| |X| |
| ---+ +---+
| X |
+----------+
oder
+---+--+
| X | |
| | +-----+------+
| | X | X |
| ---+ | S
| | | X | |
| | +-+-------+--+
| X |
+------+
Um die gesamte Karte zu umrunden, müssen Sie jeden leeren Raum und jede Klimaanlage passieren. Sie können nicht durch eine Wand reisen und dürfen nur orthogonal reisen. Eine Karte ist möglicherweise nicht immer rechteckig.
Wenn Sie den Abstand zu einem Wechselstromgerät so kurz wie möglich halten, ist dies die Summe aller Zeitschritte.
Durchgehen bedeutet ein- und aussteigen.
Sie können den Pfad beliebig ausgeben. Beispiele beinhalten:
- Ausgabe der Karte mit dem enthaltenen Pfad
- Ausgeben des Pfades als eine Abfolge von Himmelsrichtungen (z
NNSESW
)
quelle
Antworten:
PowerShell für Windows,
376367 ByteWie ein fauler Mann gehe ich nicht in jedes Regal, sondern gehe in einem Geschäft von Klimaanlage zu Klimaanlage. Ich glaube, ich bin durch den ganzen Laden gereist und habe jede Klimaanlage darin besucht.
Probieren Sie es online aus!
Abgerollt:
quelle