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 01el 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
-1ser un muro y 0un 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.