グリッド塗りつぶし蛇行は、正方形のグリッドのすべてのセルを少なくとも1訪問し、隣接するセル間のエッジを2回以上渡らず、それ自体を渡さない閉じたパスです。例えば:
グリッドが満たされると、次の8つのタイルのいずれかでグリッドの各セルを表すことができます。
このように番号を付けると、上記の蛇行のタイルはこのマトリックスで表すことができます。
5 6 5 6
4 8 3 2
5 7 6 2
4 3 4 3
あなたの仕事は、タイルの不完全なセットを与えられたグリッド充填蛇行を完了することです。たとえば、不完全な蛇行:
... 0
不足しているタイルに対してsを使用して表すことができます:
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
...このように完了することができます:
... ie:
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
仕様書
- 入力には常に少なくとも、最大で(空ではない)タイルがあります。ここで、です。
- 回答で指定されている限り、任意の値セットを使用してタイルを表すことができます。
- 入力と出力は、回答で指定されている限り、どのような形式と順序でもかまいません。
- すべての入力に対して少なくとも1つの有効なソリューションが存在します(つまり、無効な入力を処理する必要はありません)。
- 標準のI / Oルールが適用されます。
- 標準的な抜け穴は禁止されています。
- 「実用的な」言語であっても説明が奨励されます。
テストケース
入力(Θ):
0 6 0 0
出力(Θ):
5 6 4 3
入力(Θ):
5 6 5 6 4 0 3 2 5 7 6 2 4 3 4 3
出力(Θ):
5 6 5 6 4 8 3 2 5 7 6 2 4 3 4 3
入力(Θ):
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
出力(Θ):
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