Em alguns jornais britânicos, há um jogo conhecido como Hidato . É um pouco parecido com o Sudoku , embora em vez de ter de 1 a 9 em linha e em bloco, trata-se de colocar números para que eles se conectem em ordem, desde 01o mais alto até o mais alto, para que todos estejam tocando horizontalmente, diagonalmente ou verticalmente .
As entradas conterão várias linhas separadas por \n, contendo blocos separados por um espaço, que você pode assumir com dois caracteres de largura. Cada bloco será um número, um espaço em branco a ser preenchido (indicado por --) ou uma parede que não pode ter números em ( XX).
Sua saída deve corresponder à fornecida, embora com blocos vazios fornecidos com números. Observe que pode não haver uma solução única, ou mesmo a existência de uma solução - algumas podem render múltiplas devido à sua ambiguidade, como o Sudoku, e outras podem ser literalmente insolúveis, nesse caso, você deve fornecer uma saída falsey , mas você pode assumir que as entradas estão formatadas como abaixo.
Use um cabeçalho padrão Language: XX bytes. Feliz golfe!
Exemplos
Entradas 01 XX 03, 01 -- 04, 01 --, etc todos devem retornar algo Falsey .
Entrada:
01 -- --
-- XX 05
Resultado:
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 --
Resultado:
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
Resultado:
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
-1uma parede e 0fique em branco? Isso facilitaria o foco no verdadeiro desafio do quebra-cabeça e, portanto, não há complexidade em preencher números com zeros ou cadeias de análise.