Percursos
/
Scala
Scala
/
Exercícios
/
Ajudante de Killer Sudoku
Ajudante de Killer Sudoku

Ajudante de Killer Sudoku

Médio

Instruções

Um amigo teu está a aprender a resolver Killer Sudokus (as regras estão abaixo), mas tem dificuldade em perceber que algarismos podem entrar numa gaiola. Pede-te ajuda para escrever um pequeno programa que liste todas as combinações válidas para uma determinada gaiola e todas as restrições que afetam essa gaiola.

Para que o resultado do teu programa seja fácil de ler, as combinações que ele devolve têm de estar ordenadas.

Regras do Killer Sudoku

  • Aplicam-se as regras padrão do Sudoku.
  • Os algarismos de uma gaiola, habitualmente marcada por uma linha tracejada, somam o pequeno número indicado no canto da gaiola.
  • Um algarismo só pode aparecer uma vez em cada gaiola.

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

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

Numa gaiola de 3 algarismos com uma soma de 7, só há 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 algarismos dentro de uma gaiola.

Grelha de Sudoku com três gaiolas killer marcadas como agrupadas.
A primeira gaiola killer está no bloco 3×3 do canto superior esquerdo da grelha.
A coluna central desse bloco forma a gaiola, com as seguintes células de cima para baixo: a primeira célula contém um 1 e uma marca a lápis de 7, que indica uma soma de gaiola de 7, a segunda célula contém um 2, a terceira célula contém um 5.
Os números estão destacados a vermelho para indicar um erro.
A segunda gaiola killer está no bloco 3×3 central da grelha.
A coluna central desse bloco forma a gaiola, com as seguintes células de cima para baixo: a primeira célula contém um 1 e uma marca a lápis de 7, que indica uma soma de gaiola de 7, a segunda célula contém um 2, a terceira célula contém um 4.
Nenhum dos números desta gaiola está destacado e, por isso, não contém erros.
A terceira gaiola killer segue o canto exterior do bloco 3×3 central da grelha.
É composta pelas três células seguintes: a célula superior esquerda da gaiola contém um 2, destacado a vermelho, e uma soma de gaiola de 7.
A célula superior direita da gaiola contém um 3.
A célula inferior direita da gaiola contém um 2, destacado a vermelho. Todas as outras células estão vazias.

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

Numa gaiola de 2 algarismos com uma soma de 10, há 4 combinações possíveis:

  • 19
  • 28
  • 37
  • 46

Grelha de Sudoku com todas as células vazias, exceto a coluna central, 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 célula com o valor 1 e uma marca a lápis que indica uma soma de gaiola de 10, e uma célula com o valor 9.
O segundo grupo é uma célula com o valor 2 e uma marca a lápis de 10, e uma célula com o valor 8.
O terceiro grupo é uma célula com o valor 3 e uma marca a lápis de 10, e uma célula com o valor 7.
O quarto grupo é uma célula com o valor 4 e uma marca a lápis de 10, e uma célula com o valor 6.
A última célula da coluna está vazia.

Exemplo 3: Gaiola com várias combinações sujeita a restrições

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

  • 28
  • 37

19 e 46 não são possíveis devido ao 1 e ao 4 na coluna, segundo as regras padrão do Sudoku.

Grelha de Sudoku com todas as células vazias, exceto a coluna central, 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 a vermelho para indicar um erro.
As últimas 6 linhas da coluna formam gaiolas killer de duas células cada.
De cima para baixo: o primeiro grupo é uma célula com o valor 2 e uma marca a lápis que indica uma soma de gaiola de 10, e uma célula com o valor 8.
O segundo grupo é uma célula com o valor 3 e uma marca a lápis de 10, e uma célula com o valor 7.
O terceiro grupo é uma célula com o valor 1, destacada a vermelho, e uma marca a lápis de 10, e uma célula com o valor 9.

Experimenta

Se quiseres experimentar um Killer Sudoku acessível, podes tentar este puzzle da autoria de Clover, apresentado por Mark Goodliffe no Cracking The Cryptic, a 21 de junho de 2021.

Também encontras Killer Sudokus de várias dificuldades em muitos jornais, bem como em aplicações, livros e sites de Sudoku.

Créditos

As imagens acima foram geradas com o F-Puzzles.com, uma ferramenta de criação de puzzles de Eric Fox.

Editar via GitHub A ligação abre numa nova janela ou separador
Scala Exercism

Estás pronto para começar Ajudante de Killer Sudoku?

Inscreve-te no Exercism para aprenderes e dominares Scala com 95 exercícios, e mentoria humana real, tudo grátis.