Bonjour, j'ai implementé un alogorithme pour resoudre le probleme des reines 4x4, mais il n'affiche qu'une solution. Je voudrais qu'il les affiche toutes mais mon programme sort de la boucle et bien que je comprenne pourquoi je n'arrive pas a trouver une clause qui le fasse continuer :
lors qu'il a trouver que la première case ne pouvait pas être une reine, il dépile et du coup la pile est vide et il s'arrete alors qua je voudrait qu'il continue pour essayer de la mettre dans la deuxieme case.
je ne sais pas si je me suis bien fait comprendre, voici mon code :
public
void ttremplir(){
int[] t=newint[2];
t[0]=0;
t[1]=0;
while (!p.estVide()){
if (this.restePlace(t)){
if(ech[t[0]][t[1]]==0){
Menaces(t[0],t[1], 1);
p.push(t[0],t[1]);
t=suivante(t[0],t[1]);
}
else {
if (t[0]==taille-1 && t[1]==taille-1){
int [] tab= newint[2];
tab=p.pop();
Menaces(tab[0],tab[1],-1);
t=suivante(tab[0], tab[1]);
}
else {
t=suivante(t[0],t[1]);
}
}
}
else {
int [] tab= newint[2];
tab=p.pop();
Menaces(tab[0],tab[1],-1);
t=suivante(tab[0], tab[1]);
}
}
if (compteReines()==taille){
Deug.println(toString());
}
}Je vous serais infiniment reconnaissante de votre aide, bonne journée
....car votre regne s'acheve