J'essaie de créer mon propre 9x9 normal sudoku puzzle.problèmes de duplication tout en créant un puzzle de sudoku
Je divise le problème en deux parties -
- la création d'un sudoku entièrement rempli, et
- suppression des numéros inutiles de la grille
En ce moment, je suis coincé avec le premier partie.
C'est l'algorithme que j'utilise en bref:
a) d'abord tout ce que je choisis un certain nombre (par exemple 1), générer une position de cellule au hasard, et placez-là si
- la cellule n'est pas déjà occupée, et
- si la ligne n'a pas déjà le nombre et
- si la colonne n'a pas encore le nombre et
- si la boîte 3x3 n'a pas encore le nombre
b) maintenant je vérifie une situation dans laquelle une ligne ou une colonne ou une boîte, un seul endroit est vide et je remplir ce
c) Je vérifie que s'il y a un nombre qui n'est pas présent dans une boîte mais qui est présent dans les cases de la même ligne et de la même colonne (je parle ici de 3x3 cases), la place est fixe remplis-le. D) Je répète les étapes ci-dessus jusqu'à ce que chaque chiffre apparaisse neuf fois sur la grille.
Le problème Je suis face est que, plus souvent, je reçois une situation intermédiaire comme ceci:
0 1 0 | 0 0 3 | 0[4/2]0
0 [2] 0 | 0 [4] 1 | 3 0 0
3 0 [4]|[2] 0 0 | 0 0 1
---------+---------+---------
2 0 3 | 0 5 4 | 0 1 0
0 0 1 | 3 0 2 |[4] 0 0
0 4 0 | 0 1 0 |[2] 3 0
---------+---------+---------
1 0 2 | 0 3 0 | 0 0 [4]
4 3 0 | 1 0 0 | 0 0 [2]
5 0 0 | 4 2 0 | 1 0 3
Voir le lieu avec [4/2] écrit? c'est la place de 2 ainsi que 4 à cause des cases marquées [].
Que puis-je faire pour éviter dans cette situation (parce que cette situation est une impasse - je ne peux pas aller plus loin)
des techniques et des stratégies supplémentaires, consultez la mise en œuvre de Peter Norvig, http://norvig.com/sudoku.html –
oui, et voir cet article à propos de Nick D lien http://ravimohan.blogspot.com/2007/04/learning-from-sudoku-solvers.html –
Si c'était possible d'éviter cette situation sans faire marche arrière pendant la construction du puzzle, il serait également possible d'éviter cette situation sans faire marche arrière pour résoudre le casse-tête, et quel plaisir cela aurait-il alors? –