Ein gitterfüllender Mäander ist ein geschlossener Pfad, der jede Zelle eines quadratischen Gitters mindestens einmal besucht, niemals eine Kante zwischen benachbarten Zellen mehr als einmal kreuzt und sich niemals selbst kreuzt. Beispielsweise:
Einmal gefüllt, kann jede Zelle des Gitters durch eine der folgenden 8 Kacheln dargestellt werden:
Auf diese Weise nummeriert, können die Kacheln des obigen Mäanders durch diese Matrix dargestellt werden:
5 6 5 6
4 8 3 2
5 7 6 2
4 3 4 3
Ihre Aufgabe ist es, einen gitterfüllenden Mäander mit einem unvollständigen Kachelsatz fertigzustellen. Zum Beispiel der unvollständige Mäander:
... die mit 0
s für fehlende Kacheln dargestellt werden können:
5 0 0 0 6
0 0 7 0 0
0 0 0 0 3
2 4 0 0 0
0 0 3 0 0
... könnte so ergänzt werden:
... dh:
5 6 5 1 6
4 8 7 6 2
5 7 7 7 3
2 4 8 8 6
4 1 3 4 3
Spezifikationen
- Die Eingabe hat immer mindestens und höchstens (nicht leere) Kacheln, wobei .
- Sie können einen beliebigen Satz von Werten verwenden, um die Kacheln darzustellen, sofern dies in Ihrer Antwort angegeben ist.
- Ihre Eingabe und Ausgabe kann in jedem Format und in jeder Reihenfolge erfolgen, sofern dies in Ihrer Antwort angegeben ist.
- Für alle Eingaben ist mindestens eine gültige Lösung vorhanden (dh Sie müssen keine ungültigen Eingaben verarbeiten).
- Es gelten die Standard-E / A-Regeln .
- Standardlücken sind verboten.
- Erklärungen, auch für "praktische" Sprachen, sind erwünscht.
Testfälle
Eingabe ( Θ ):
0 6 0 0
Ausgabe ( Θ ):
5 6 4 3
Eingabe ( Θ ):
5 6 5 6 4 0 3 2 5 7 6 2 4 3 4 3
Ausgabe ( Θ ):
5 6 5 6 4 8 3 2 5 7 6 2 4 3 4 3
Eingabe ( Θ ):
5 0 0 0 6 0 0 7 0 0 0 0 0 0 3 2 4 0 0 0 0 0 3 0 0
Ausgabe ( Θ ):
5 6 5 1 6 4 8 7 6 2 5 7 7 7 3 2 4 8 8 6 4 1 3 4 3