38 lines
1.0 KiB
Java
38 lines
1.0 KiB
Java
|
public class nim {
|
||
|
public static void main(String[] args) {
|
||
|
System.out.println(exploreMax(5));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Determine si le joueur gagne ou perd grace a exploreMin.
|
||
|
* @param allumette le nombre d'allumette au tour du joueur
|
||
|
* @return -1 si perdant ou 1 si gagnant
|
||
|
*/
|
||
|
public static int exploreMax(int allumette) {
|
||
|
for (int i=0;allumette>1&&i<3;i++){ //si il y a plus d'une allumette
|
||
|
allumette--;
|
||
|
int v=exploreMin(allumette);
|
||
|
if (v==1){
|
||
|
return v;
|
||
|
}
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Determine si le joueur gagne ou perd grace a exploreMax.
|
||
|
* @param allumette le nombre d'allumette au tour du joueur
|
||
|
* @return -1 si gagnant ou 1 si perdant
|
||
|
*/
|
||
|
public static int exploreMin(int allumette){
|
||
|
for (int i=0;allumette>1&&i<3;i++){
|
||
|
allumette--;
|
||
|
int v=exploreMax(allumette);
|
||
|
if (v==-1){
|
||
|
return v;
|
||
|
}
|
||
|
}
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
}
|