博弈问题一直是我的痛点,呜呜呜……一直都是从入门到入门啊
package five;
public class quqiu {
static boolean fun(int n){
//n球的个数
//true 一定赢 false 一定输
//递归的出口 随着n的递减,如果一个球都不剩了,肯定是对方取走了最后的求,那我一定赢
if(n==0) return true;
//如果此时的球多于一个,那我就取一个球试一试,此时如果对方在剩余的n-1个球中取球,一定输的话,那我就一定赢了。3 7 8 同理考虑。
if(n>=1 && fun(n-1)==false) return true;
if(n>=3 && fun(n-3)==false) return true;
if(n>=7 && fun(n-7)==false) return true;
if(n>=8 && fun(n-8)==false) return true;
//如果上面的方法都不能让我赢,那我就输了
return false;
}
public static void main(String[] args) {
for(int i=0;i<=50;i++){
System.out.println(i+":"+fun(i));
}
}
}