Un meandro de relleno de cuadrícula es un camino cerrado que visita cada celda de una cuadrícula cuadrícula al menos una vez, nunca cruza ningún borde entre celdas adyacentes más de una vez y nunca se cruza a sí mismo. Por ejemplo:
Una vez llenos, cada celda de la cuadrícula se puede representar por uno de los siguientes 8 mosaicos:
Numerados de esta manera, los mosaicos del meandro anterior se pueden representar mediante esta matriz:
5 6 5 6
4 8 3 2
5 7 6 2
4 3 4 3
Su tarea es completar un meandro de relleno de cuadrícula dado un conjunto incompleto de mosaicos. Por ejemplo, el meandro incompleto:
... que se puede representar usando 0
s para las fichas faltantes:
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
... podría completarse así:
...es decir:
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
Especificaciones
- La entrada siempre tendrá al menos y como máximo mosaicos (no vacíos), donde .
- Puede usar cualquier conjunto de valores para representar los mosaicos, siempre que se especifique en su respuesta.
- Su entrada y salida pueden estar en cualquier formato y orden, siempre que se especifique en su respuesta.
- Al menos existirá una solución válida para todas las entradas (es decir, no es necesario manejar entradas no válidas).
- Se aplican las reglas estándar de E / S.
- Las lagunas estándar están prohibidas.
- Se alientan las explicaciones, incluso para los idiomas "prácticos".
Casos de prueba
Entrada ( Θ ):
0 6 0 0
Salida ( Θ ):
5 6 4 3
Entrada ( Θ ):
5 6 5 6 4 0 3 2 5 7 6 2 4 3 4 3
Salida ( Θ ):
5 6 5 6 4 8 3 2 5 7 6 2 4 3 4 3
Entrada ( Θ ):
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
Salida ( Θ ):
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