巴什博弈
取石子游戏定义如下:
- 有一堆石子,个数为
- 两个人轮流取石子,最少取
个,最多取 个 - 获胜条件是:谁最后取完石子,谁获胜
首先我们说一个结论:当
那么你应该采取怎样的策略来取胜呢,我们假设有一个自然数
引入一个概念奇异局势:
引入一个概念,平衡状态,又称作奇异局势。当面对这个局势时则会失败。任意非平衡态经过一次操作可以变为平衡态。每个玩家都会努力使自己抓完石子之后的局势为平衡,将这个平衡局势留给对方
每个玩家的策略就是让对方先取,然后自己可以把石子变成奇异局势,这样最后一定能赢.如果当前状态就是奇异局势的话,那么玩家必败。
所以当
cpp
#include <stdio.h>
int main()
{
int t,n,m;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
if(n%(m+1)==0)
printf("Lose\n");
else
printf("Win\n");
}
return 0;
}