Trilhas
/
JavaScript
JavaScript
/
Exercícios
/
Auxiliar de Killer Sudoku
Auxiliar de Killer Sudoku

Auxiliar de Killer Sudoku

Médio

Instruções

Um amigo seu está aprendendo a resolver Killer Sudokus (regras abaixo), mas tem dificuldade para descobrir quais dígitos podem entrar em uma gaiola. Ele pede sua ajuda para escrever um pequeno programa que liste todas as combinações válidas para uma determinada gaiola e quaisquer restrições que afetem a gaiola.

Para deixar a saída do seu programa fácil de ler, as combinações que ele retorna precisam estar ordenadas.

Regras do Killer Sudoku

  • As regras padrão do Sudoku se aplicam.
  • Os dígitos de uma gaiola, geralmente marcada por uma linha pontilhada, somam o pequeno número indicado no canto da gaiola.
  • Um dígito só pode aparecer uma vez em uma gaiola.

Para uma explicação mais detalhada, confira este guia.

Exemplo 1: gaiola com apenas 1 combinação possível

Em uma gaiola de 3 dígitos com soma 7, existe apenas uma combinação válida: 124.

  • 1 + 2 + 4 = 7
  • Qualquer outra combinação que some 7, como 232, violaria a regra de não repetir dígitos dentro de uma gaiola.

Grade de Sudoku, com três gaiolas killer marcadas como agrupadas.
A primeira gaiola killer está no bloco 3×3 do canto superior esquerdo da grade.
A coluna do meio desse bloco forma a gaiola, com as seguintes casas de cima para baixo: a primeira casa contém um 1 e uma marca a lápis de 7, indicando uma soma de gaiola de 7, a segunda casa contém um 2, a terceira contém um 5.
Os números estão destacados em vermelho para indicar um erro.
A segunda gaiola killer está no bloco 3×3 central da grade.
A coluna do meio desse bloco forma a gaiola, com as seguintes casas de cima para baixo: a primeira casa contém um 1 e uma marca a lápis de 7, indicando uma soma de gaiola de 7, a segunda casa contém um 2, a terceira contém um 4.
Nenhum dos números dessa gaiola está destacado e, portanto, não há erros.
A terceira gaiola killer acompanha o canto externo do bloco 3×3 central da grade.
Ela é formada pelas três casas a seguir: a casa superior esquerda da gaiola contém um 2, destacado em vermelho, e uma soma de gaiola de 7.
A casa superior direita da gaiola contém um 3.
A casa inferior direita da gaiola contém um 2, destacado em vermelho. Todas as outras casas estão vazias.

Exemplo 2: gaiola com várias combinações

Em uma gaiola de 2 dígitos com soma 10, existem 4 combinações possíveis:

  • 19
  • 28
  • 37
  • 46

Grade de Sudoku, todas as casas vazias, exceto a coluna do meio, a coluna 5, que tem 8 linhas preenchidas.
Cada duas linhas contíguas formam uma gaiola killer e estão marcadas como agrupadas.
De cima para baixo: o primeiro grupo é uma casa com valor 1 e uma marca a lápis indicando uma soma de gaiola de 10, casa com valor 9.
O segundo grupo é uma casa com valor 2 e uma marca a lápis de 10, casa com valor 8.
O terceiro grupo é uma casa com valor 3 e uma marca a lápis de 10, casa com valor 7.
O quarto grupo é uma casa com valor 4 e uma marca a lápis de 10, casa com valor 6.
A última casa da coluna está vazia.

Exemplo 3: gaiola com várias combinações que está restrita

Em uma gaiola de 2 dígitos com soma 10, em que a coluna já contém um 1 e um 4, existem 2 combinações possíveis:

  • 28
  • 37

19 e 46 não são possíveis por causa do 1 e do 4 na coluna, de acordo com as regras padrão do Sudoku.

Grade de Sudoku, todas as casas vazias, exceto a coluna do meio, a coluna 5, que tem 8 linhas preenchidas.
A primeira linha contém um 4, a segunda está vazia e a terceira contém um 1.
O 1 está destacado em vermelho para indicar um erro.
As últimas 6 linhas da coluna formam gaiolas killer de duas casas cada.
De cima para baixo: o primeiro grupo é uma casa com valor 2 e uma marca a lápis indicando uma soma de gaiola de 10, casa com valor 8.
O segundo grupo é uma casa com valor 3 e uma marca a lápis de 10, casa com valor 7.
O terceiro grupo é uma casa com valor 1, destacada em vermelho, e uma marca a lápis de 10, casa com valor 9.

Experimente você mesmo

Se você quiser tentar um Killer Sudoku mais acessível, pode experimentar este quebra-cabeça de Clover, apresentado por Mark Goodliffe no Cracking The Cryptic em 21 de junho de 2021.

Você também encontra Killer Sudokus de dificuldades variadas em vários jornais, além de aplicativos, livros e sites de Sudoku.

Créditos

As capturas de tela acima foram geradas usando o F-Puzzles.com, uma ferramenta de criação de quebra-cabeças de Eric Fox.

Editar via GitHub O link abre em uma nova janela ou aba
JavaScript Exercism

Tudo pronto para começar Auxiliar de Killer Sudoku?

Crie sua conta no Exercism para aprender e dominar JavaScript com 37 conceitos159 exercícios e mentoria humana de verdade, tudo de graça.