您的位置:首页 > 其它

巴什博奕类型取石子

2016-07-10 08:23 197 查看
       只有一堆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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  class