46 lines
1.2 KiB
Java
46 lines
1.2 KiB
Java
public class MiniMax_versionarret_compteur {
|
|
|
|
public static int compteur_noeud = 0;
|
|
|
|
private static int ExploreMax(int nbr_allumettes){
|
|
compteur_noeud++;
|
|
if (nbr_allumettes <= 0){
|
|
return 1;
|
|
}
|
|
int meilleurres = -2;
|
|
for (int coup = 1; coup <= 3; coup++){
|
|
int res = ExploreMin(nbr_allumettes - coup);
|
|
if (res > meilleurres){
|
|
meilleurres = res;
|
|
if (meilleurres == 1){
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return meilleurres;
|
|
}
|
|
|
|
private static int ExploreMin(int nbr_allumettes){
|
|
compteur_noeud++;
|
|
if (nbr_allumettes <= 0){
|
|
return -1;
|
|
}
|
|
int pire = 2;
|
|
for (int coup = 1; coup <= 3; coup++){
|
|
int res = ExploreMax(nbr_allumettes - coup);
|
|
if (res < pire){
|
|
pire = res;
|
|
if (pire == -1){
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return pire;
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
int nbr_allumettes = 19;
|
|
System.out.println(ExploreMax(nbr_allumettes));
|
|
System.out.println(compteur_noeud);
|
|
}
|
|
} |