Dado un rompecabezas de Sudoku, encuentra todas las marcas posibles que se pueden llenar en cada celda vacía.
Caso de prueba
Entrada:
[
[
// Top left:
[
0, 0, 0,
3, 4, 0,
0, 0, 2
],
// Top middle:
[
7, 4, 0,
0, 0, 0,
0, 0, 3
],
// Top right:
[
8, 0, 0,
1, 7, 0,
0, 0, 0
]
],
[
// Middle left:
[
9, 0, 4,
7, 0, 0,
1, 0, 3
],
// Center:
[
0, 5, 0,
0, 0, 0,
0, 7, 0
],
// Middle right:
[
0, 0, 0,
6, 4, 0,
0, 0, 0
]
],
[
// Bottom left:
[
0, 0, 7,
6, 3, 0,
0, 0, 0
],
// Bottom middle:
[
0, 0, 5,
0, 0, 0,
9, 1, 0
],
// Bottom right:
[
0, 0, 0,
5, 2, 0,
7, 0, 0
]
]
]
Salida:
[
[
// Top left:
[
[5], [1, 5, 6, 9], [1, 5, 6, 9],
[], [], [5, 6, 8, 9],
[5, 8], [1, 5, 6, 7, 8, 9], []
],
// Top middle:
[
[], [], [1, 2, 6, 9],
[2, 5, 6, 8], [2, 6, 8, 9], [2, 6, 8, 9],
[1, 5, 6, 8], [6, 8, 9], []
],
// Top right:
[
[], [3, 5, 6, 9], [2, 3, 5, 6, 9],
[], [], [2, 5, 6, 9],
[4, 9], [5, 6, 9], [4, 5, 6, 9]
]
],
[
// Middle left:
[
[], [2, 6, 8], [],
[], [2, 5, 8], [5, 8],
[], [2, 5, 6, 8], []
],
// Center:
[
[1, 2, 3, 6, 8], [], [1, 2, 6, 8],
[1, 2, 3, 8], [2, 3, 8, 9], [1, 2, 8, 9],
[2, 4, 6, 8], [], [2, 4, 6, 8, 9]
],
// Middle right:
[
[2, 3], [1, 3, 8], [1, 2, 3, 7, 8],
[], [], [1, 2, 3, 5, 8, 9],
[2, 9], [5, 8, 9], [2, 5, 8, 9]
]
],
[
// Bottom left:
[
[2, 4, 8], [1, 2, 8, 9], [],
[], [], [1, 8, 9],
[2, 4, 5, 8], [2, 5, 8], [5, 8]
],
// Bottom middle:
[
[2, 3, 4, 6, 8], [2, 3, 6, 8], [],
[4, 8], [8], [4, 7, 8],
[], [], [2, 4, 6, 8]
],
// Bottom right:
[
[3, 4, 9], [1, 3, 6, 8, 9], [1, 3, 4, 6, 8, 9],
[], [], [1, 4, 8, 9],
[], [3, 6, 8], [3, 4, 6, 8]
]
]
]
Visualización de salida; los pequeños números:
Reglas
- Este es un código de golf . La respuesta más corta en bytes (o equivalente) gana.
- La entrada puede estar en formato de matriz o cadena.
- La entrada debe estar en el orden presentado arriba (arriba a la izquierda, arriba a la mitad, arriba a la derecha, etc.)
- La salida puede estar en formato de matriz o cadena, siempre que la salida pueda representar lógicamente el resultado esperado.
- La salida debe estar en el mismo orden que la entrada (arriba a la izquierda, arriba a la mitad, arriba a la derecha, etc.)
- La salida no necesita ser prettified.
- El código debe ser aplicable a cualquier cuadrícula Sudoku incompleta válida.
- Se aplican las reglas estándar de golf.
Notas adicionales:
Obtiene puntos de Internet falsos adicionales si su programa o función utiliza el resultado para resolver el rompecabezas de Sudoku hasta el punto en que los valores de las celdas ya no se puedan resolver lógicamente. Por ejemplo, la primera celda en el caso de prueba solo puede contener el número 5, por lo que debe tenerse en cuenta al completar los otros valores. Esto es solo por diversión y un desafío adicional, de lo contrario, la respuesta más corta gana independientemente de si se cumple o no este criterio.
["000340002", "740000003", ...]
)