Created
September 23, 2014 10:11
-
-
Save mdijoux/2e74e58d9b071897d0b9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public boolean resoudre(int k){ | |
if(k==this.N){ | |
return true; | |
} | |
for(int i=0; i<this.N; i++){ | |
for(int j=0; j<this.N; j++){ | |
//On parcours l'échiquier à la recherche d'une position valide | |
Piece p = this.creerPiece(i,j); | |
//On teste la position de la piece | |
if(p.compatible(this.pieces)){ | |
//Si la position est valide on ajoute la piece | |
this.pieces.add(p); | |
//et on résoud dans le sous probleme | |
if(this.resoudre(k+1)){ | |
//le sous probleme a généré une solution | |
//on termine | |
return true; | |
} else { | |
//le sous probleme n'admet pas de solution | |
//on retire donc la position actuelle des solutions possibles | |
//et on continue a chercher sur le reste de l'echiquier | |
this.pieces.remove(p); | |
} | |
} | |
} | |
} | |
//Toutes les possibilités on été téstées. | |
//On termine sans avoir trouvé de solution. | |
return false; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment