Bonjour, j'ai écris un petit programme permettant de résoudre des grilles de sudoku, mon algorithme est le suivant (en faite j'ai suivi exactement la méthode que j'utilise pour résoudre un sudoku en vrai)
On parcourt toutes les cases de la grille, et pour chaque case, on verifie sa ligne, sa colonne, et sa région (le carré de 3*3 auquel il appartient) et on remplit un tableau temp avec chaque valeur trouvé dans les lignes, colonnes et régions. Par exemple si une ligne on a 5 3 et le reste vide, on fait temp[5]++, temp[3]++ etc même chose avec la colonne et la région.
Ensuite, on parcourt notre tableau temp et on verifie si on a une seule case du tableau à 0, si c'est le cas on a notre valeur donc on l'inscrit dans notre case.
Et on répète ceci en faisant le parcours de la grille tant que la grille n'est pas remplie.
Alors donc ça marche bien pour les grilles basiques, mais pour un niveau un peu plus difficile, les demoniaque par exemple, ça ne marche plus du tout...
Donc j'aurais bien voulu savoir comment en pratique résoudre un sudoku de n'importe quel niveau...
Merci d'avance
Partager