Ihr Ziel ist es, ein Programm zu schreiben, das eine zufällige 10x10-Karte mit 0
, 1
und erstellt 2
und den kürzesten Pfad von links oben nach rechts unten findet, vorausgesetzt, dass:
0 steht für eine Rasenfläche: jeder kann darauf laufen;
1 stellt eine Mauer dar: man kann sie nicht überqueren;
2 steht für ein Portal: Wenn Sie ein Portal betreten, können Sie zu einem beliebigen anderen Portal in der Karte wechseln.
Technische Daten:
- Das Element oben links und das Element unten rechts müssen 0 sein .
- Bei der Erstellung der Zufallskarte sollte jedes Feld eine 60% ige Chance haben, eine 0 , 30% eine 1 und 10% eine 2 zu sein .
- Sie können sich in ein beliebiges benachbartes Feld bewegen (auch diagonale).
- Ihr Programm sollte die Karte und die Anzahl der Schritte des kürzesten Pfades ausgeben.
- Wenn es keinen gültigen Pfad gibt, der zum Feld unten rechts führt, sollte Ihr Programm nur die Karte ausgeben.
- Sie können jede Ressource verwenden, die Sie möchten.
- Kürzester Code gewinnt.
Berechnen von Schritten:
Ein Schritt ist eine tatsächliche Bewegung; Jedes Mal, wenn Sie das Feld ändern, erhöhen Sie den Zähler.
Ausgabe:
0000100200
0100100010
1000000111
0002001000
1111100020
0001111111
0001001000
0020001111
1100110000
0000020100
9