Skip to content

Instantly share code, notes, and snippets.

@mdijoux
Created September 23, 2014 10:11
Show Gist options
  • Save mdijoux/2e74e58d9b071897d0b9 to your computer and use it in GitHub Desktop.
Save mdijoux/2e74e58d9b071897d0b9 to your computer and use it in GitHub Desktop.
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