一、遊戲規則:
只有一堆n個物品,兩個人輪流從這堆物品中取物, 規定每次至少取一個,最多取m個。最後取光者得勝。
二、詳解:
顯然,如果n=m+1,那麼由於一次最多隻能取m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘的物品,後者取勝。因此我們發現瞭如何取勝的法則:如果n=(m+1)r+s,(r爲任意自然數,s≤m),那麼先取者要拿走s個物品,如果後取者拿走k(≤m)個,那麼先取者再拿走m+1-k個,結果剩下(m+1)(r-1)個,以後保持這樣的取法,那麼先取者肯定獲勝。總之,要保持給對手留下(m+1)的倍數,就能最後獲勝。
對於巴什博弈,那麼我們規定,如果最後取光者輸,那麼又會如何呢?
當 n % (m+1) = 0時,後手必勝。
當 n % (m+1) != 0時,先手必勝。
注意:
- 變形玩法:兩個人輪流報數,每次至少1個數,最多報10個數字,誰先報到100取勝。
- 只有一堆n個石子,兩個人輪流從這堆石子中取石子,規定每次至少取一個,最多取m個,最後取完的人獲勝。
參考:https://www.cnblogs.com/kls123/p/6970414.html
#include<cstdio>
int main()
{
int n,m;
scanf("%d%d",&n,&m);
if(n % (m+1) !=0)
printf("first win");
else
printf("second win");
return 0;
}