两人谁输谁赢取决于游戏过程中的某一状态,如24 7
当减到 4 7时胜负已经可以判断。
4 7
4 3
1 3
1 0
7/4<2,如果Stan 知道若该状态由他先到达,则他胜利,那么他肯定会使自己首先到达此状态。
24是7的3倍多,stan只要先减去2*7,下一次olie只能减7。如此stan便可胜利。换句话说,就是只要
b/a>1 Stan即可操纵局面。所以若b/a>1 stan必胜。
若刚开始便是 4 7这种情况,可以用递归计算。
d
类别:默认分类 查看评论
int stanwin(int a,int b)
{
if(a>b)return stanwin(b,a);
if(b%a==0)return 1;
if(b-a<a)return 1-stanwin(b-a,a);//递归计算
return 1;//b/a>1
}
|
阅读(368) | 评论(0) | 转发(0) |