巴什博奕类型取石子

来源:互联网 发布:手机载图软件 编辑:程序博客网 时间:2024/06/06 15:41
       只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。

          如果n=m+1,那么无论先手拿走多少个,后手都可以把石子全部拿完,n又可以用一个公式表示:n=(m+1)*k+T,T<=m

         若 T=0,则 n 刚好是 m+1 的整数倍,则无论先手每次拿多少个都会剩余a*(m+1)+(m+1-X)  【X为拿走的个数,a为正整数】,因为m+1-X 必大于0小于m,则先手必输。

         若 T≠0,则先手先拿走 T 个,后手拿走 X (X<=m)个,先手再拿走m+1-X个 ,按这种方式依次去拿,最后后手拿完后刚好剩余m+1-X,即后手必输


    #include<stdio.h>
int main()
{
  int a,n,m,i;
   scanf("%d",&a);
  for(i=1;i<=a;i++)
  {
    scanf("%d%d",&n,&m);
       if(n%(m+1)==0)
  printf("Lose\n");
  else 
  printf("Win\n");


  }
return 0;
}
1 0
原创粉丝点击