Parcours
/
Python
Python
/
Exercices
/
Assistant de Killer Sudoku
Assistant de Killer Sudoku

Assistant de Killer Sudoku

Moyen

Instructions

Une personne de ton entourage apprend à résoudre des Killer Sudokus (règles ci-dessous) mais a du mal à déterminer quels chiffres peuvent aller dans une cage. Elle te demande de l'aider en écrivant un petit programme qui liste toutes les combinaisons valides pour une cage donnée, ainsi que les contraintes qui affectent cette cage.

Pour rendre la sortie de ton programme facile à lire, les combinaisons qu'il renvoie doivent être triées.

Règles du Killer Sudoku

  • Les règles standard du Sudoku s'appliquent.
  • Les chiffres d'une cage, habituellement marquée par une ligne en pointillés, s'additionnent pour donner le petit nombre inscrit dans le coin de la cage.
  • Un chiffre ne peut apparaître qu'une seule fois dans une cage.

Pour une explication plus détaillée, consulte ce guide.

Exemple 1 : cage avec une seule combinaison possible

Dans une cage à 3 chiffres dont la somme vaut 7, il n'y a qu'une seule combinaison valide : 124.

  • 1 + 2 + 4 = 7
  • Toute autre combinaison dont la somme vaut 7, par exemple 232, enfreindrait la règle de non-répétition des chiffres au sein d'une cage.

Grille de Sudoku, avec trois cages de Killer Sudoku marquées comme regroupées.
La première cage se trouve dans le bloc 3×3 en haut à gauche de la grille.
La colonne du milieu de ce bloc forme la cage, avec les cellules suivantes de haut en bas : la première cellule contient un 1 et une marque au crayon de 7, indiquant une somme de cage de 7, la deuxième contient un 2, la troisième contient un 5.
Les nombres sont surlignés en rouge pour indiquer une erreur.
La deuxième cage se trouve dans le bloc 3×3 central de la grille.
La colonne du milieu de ce bloc forme la cage, avec les cellules suivantes de haut en bas : la première cellule contient un 1 et une marque au crayon de 7, indiquant une somme de cage de 7, la deuxième contient un 2, la troisième contient un 4.
Aucun des nombres de cette cage n'est surligné et ils ne contiennent donc aucune erreur.
La troisième cage suit le coin extérieur du bloc 3×3 central de la grille.
Elle est constituée des trois cellules suivantes : la cellule en haut à gauche de la cage contient un 2, surligné en rouge, et une somme de cage de 7.
La cellule en haut à droite de la cage contient un 3.
La cellule en bas à droite de la cage contient un 2, surligné en rouge. Toutes les autres cellules sont vides.

Exemple 2 : cage avec plusieurs combinaisons

Dans une cage à 2 chiffres dont la somme vaut 10, il y a 4 combinaisons possibles :

  • 19
  • 28
  • 37
  • 46

Grille de Sudoku, toutes les cases vides sauf la colonne du milieu, la colonne 5, qui a 8 lignes remplies.
Chaque paire de lignes contiguës forme une cage de Killer Sudoku et est marquée comme regroupée.
De haut en bas : le premier groupe est une cellule de valeur 1 et une marque au crayon indiquant une somme de cage de 10, une cellule de valeur 9.
Le deuxième groupe est une cellule de valeur 2 et une marque au crayon de 10, une cellule de valeur 8.
Le troisième groupe est une cellule de valeur 3 et une marque au crayon de 10, une cellule de valeur 7.
Le quatrième groupe est une cellule de valeur 4 et une marque au crayon de 10, une cellule de valeur 6.
La dernière cellule de la colonne est vide.

Exemple 3 : cage avec plusieurs combinaisons mais soumise à des contraintes

Dans une cage à 2 chiffres dont la somme vaut 10, où la colonne contient déjà un 1 et un 4, il y a 2 combinaisons possibles :

  • 28
  • 37

19 et 46 ne sont pas possibles à cause du 1 et du 4 présents dans la colonne, d'après les règles standard du Sudoku.

Grille de Sudoku, toutes les cases vides sauf la colonne du milieu, la colonne 5, qui a 8 lignes remplies.
La première ligne contient un 4, la deuxième est vide et la troisième contient un 1.
Le 1 est surligné en rouge pour indiquer une erreur.
Les 6 dernières lignes de la colonne forment des cages de Killer Sudoku de deux cellules chacune.
De haut en bas : le premier groupe est une cellule de valeur 2 et une marque au crayon indiquant une somme de cage de 10, une cellule de valeur 8.
Le deuxième groupe est une cellule de valeur 3 et une marque au crayon de 10, une cellule de valeur 7.
Le troisième groupe est une cellule de valeur 1, surligné en rouge, et une marque au crayon de 10, une cellule de valeur 9.

Essaie par toi-même

Si tu veux te frotter à un Killer Sudoku accessible, jette un œil à ce puzzle de Clover, présenté par Mark Goodliffe sur Cracking The Cryptic le 21 juin 2021.

Tu peux aussi trouver des Killer Sudokus de difficulté variable dans de nombreux journaux, ainsi que dans des applications, des livres et des sites web de Sudoku.

Crédits

Les captures d'écran ci-dessus ont été générées avec F-Puzzles.com, un outil de création de grilles d'Eric Fox.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Python Exercism

Prêt à commencer Assistant de Killer Sudoku ?

Inscris-toi sur Exercism pour apprendre et maîtriser Python avec 17 concepts146 exercices, et un vrai mentorat humain, le tout gratuitement.