个人理解:
假设现在有n=m+1个石子,有两个人a和b,a先拿,最多拿m个,谁先取完谁胜。两个人都很聪明,问谁会取胜。很明显无论a拿多少(假如为k),那么b肯定会把剩下的都拿走n-k<=m。b胜!
假设现在n!=m+1,那么结果又会如何?那么我们可以把n=(m+1)r+s,a拿走s个,然后b拿走k个,a再拿走(m+1)-k个,那么剩n=(m+1)(r-1)个,保持这样,a一定取胜。所以如果
n%(m+1)!=0,先取者胜,否则后取者胜。
nyoj23
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
if(n%(m+1)==0)
printf("Lose\n");
else
printf("Win\n");
}
return 0;
}