Existe um jogo cerebral chamado Enumerate (que eu criei , baseado em Takuzu ). Seu desafio é jogar este jogo.
Tarefa
Resolver um jogo de 4x4 Enumerate / Takuzu.
- Receba uma grade inicial via STDIN ou linha de comando.
- Saída da grade resolvida via STDOUT ou gravando no arquivo.
Regras
Um jogo é caracterizado por um tabuleiro 4x4, composto de células vermelhas e roxas.
Deve haver o mesmo número de células vermelhas e roxas em cada linha e coluna (2 vermelhas e 2 roxas em cada).
Não deve haver linhas ou colunas idênticas.
Entrada
A grelha de partida será dada como uma cadeia de caracteres 16 / byte que consiste de apenas 0
, 1
, e 2
. Aqui está um exemplo:
0001100002001200
1
representa uma célula vermelha e 2
representa uma célula roxa. Todas as placas de entrada serão solucionáveis.
Nota: Se o seu idioma não suportar entrada literal de cadeia , você poderá receber entrada como uma matriz de números inteiros. Por favor, indique na sua resposta que este é o caso. Portanto, não há confusão, é assim que a matriz deve se parecer:
[0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 1, 2, 0, 0]
Nenhuma matriz aninhada é permitida.
Resultado
A placa resolvida deve ser impressa no mesmo formato acima; uma cadeia de 16 caracteres / bytes, composta apenas por 1
e 2
. Aqui está a solução para a entrada acima:
2121112222111212
Mais 1
uma vez, representa uma célula vermelha e 2
representa uma célula roxa.
Bônus
Um bônus de -25 bytes é oferecido para qualquer resposta que produza a placa resolvida como uma grade ASCII. Aqui está um exemplo do quadro mencionado anteriormente.
2|1|2|1
-+-+-+-
1|1|2|2
-+-+-+-
2|2|1|1
-+-+-+-
1|2|1|2
Um bônus de -50 bytes é oferecido para qualquer resposta que produza a placa resolvida em cores. Isso pode ser produzido como uma imagem ou texto colorido.
Se o texto colorido for escolhido, a saída deve ser assim:
2121
1122
2211
1212
No entanto, se uma imagem for o método de saída escolhido, o arquivo resultante deverá ter 20x20 pixels, onde cada célula é um bloco colorido de 5x5 pixels. Aqui está um exemplo:
Aqui estão os códigos de cores:
Red - #a73cba OR (167, 60, 186)
Purple - #f94a32 OR (249, 74, 50)
Amostras
In: 0020010100000100
Out: 1221212112122112
In: 0010000200121000
Out: 2211112221121221
In: 1000100102000000
Out: 1122122122112112
0
, 1
e 2
? Que tal uma matriz bidimensional?