En algunos periódicos británicos hay un juego conocido como Hidato . Es algo similar al Sudoku , aunque en lugar de tener 1-9 en una línea y bloque, se trata de colocar números de modo que se conecten en orden desde 01
el más alto hasta el más alto, por lo que todos se tocan horizontal, diagonal o verticalmente .
Las entradas contendrán varias líneas separadas \n
, que contienen bloques separados por un espacio, que puede suponer que tienen dos caracteres de ancho. Cada bloque será un número, un espacio en blanco para ser llenado (indicado por --
) o una pared que no puede tener números en ( XX
).
Su salida debe coincidir con la proporcionada, aunque con bloques vacíos provistos de números. Tenga en cuenta que puede que no haya una solución única, o incluso la existencia de una solución : algunas pueden generar múltiples debido a su ambigüedad, al igual que Sudoku, y algunas pueden ser literalmente irresolubles, en cuyo caso debe dar una salida falsey , pero usted puede asumir que las entradas tienen el formato siguiente.
Use un encabezado estándar Language: XX bytes
. ¡Feliz golf!
Ejemplos
Insumos 01 XX 03
, 01 -- 04
, 01 --
, etc todos debemos devolver algo Falsey- .
Entrada:
01 -- --
-- XX 05
Salida:
01 03 04
02 XX 05
Entrada:
-- 33 35 -- -- XX XX XX
-- -- 24 22 -- XX XX XX
-- -- -- 21 -- -- XX XX
-- 26 -- 13 40 11 XX XX
27 -- -- -- 09 -- 01 XX
XX XX -- -- 18 -- -- XX
XX XX XX XX -- 07 -- --
XX XX XX XX XX XX 05 --
Salida:
32 33 35 36 37 XX XX XX
31 34 24 22 38 XX XX XX
30 25 23 21 12 39 XX XX
29 26 20 13 40 11 XX XX
27 28 14 19 09 10 01 XX
XX XX 15 16 18 08 02 XX
XX XX XX XX 17 07 06 03
XX XX XX XX XX XX 05 04
Entrada:
XX XX XX XX -- 53 XX XX XX XX
XX XX XX XX -- -- XX XX XX XX
XX XX 56 -- -- -- 30 -- XX XX
XX XX -- -- -- -- -- -- XX XX
XX -- -- 20 22 -- -- -- -- XX
XX 13 -- 23 47 -- 41 -- 34 XX
-- -- 11 18 -- -- -- 42 35 37
-- -- -- -- 05 03 01 -- -- --
XX XX XX XX -- -- XX XX XX XX
XX XX XX XX 07 -- XX XX XX XX
Salida:
XX XX XX XX 52 53 XX XX XX XX
XX XX XX XX 54 51 XX XX XX XX
XX XX 56 55 28 50 30 31 XX XX
XX XX 26 27 21 29 49 32 XX XX
XX 25 24 20 22 48 45 44 33 XX
XX 13 19 23 47 46 41 43 34 XX
14 12 11 18 04 02 40 42 35 37
15 16 17 10 05 03 01 39 38 36
XX XX XX XX 09 06 XX XX XX XX
XX XX XX XX 07 08 XX XX XX XX
-1
ser un muro y 0
un espacio en blanco? Eso facilitaría concentrarse en el verdadero desafío del rompecabezas, y luego no hay complejidad de rellenar números con ceros o cadenas de análisis.