巴什博奕類型取石子

       只有一堆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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章