zcmu 1122: 取石子游戲II
阿新 • • 發佈:2018-11-14
1122: 取石子游戲II
Time Limit: 1 Sec Memory Limit: 128 MB
Description
一堆石子有n個,兩人輪流取.每次取最少取1個,最多取m個。取完者勝.先取者負輸出"Second win".先取者勝輸出"First win"
Input
多組測試資料。
每組測試資料包含2個正整數n,m。(n,m<=10000000)
Output
對於每組測試資料,輸出誰獲勝.
Sample Input
2 1
3 2
3 1
Sample Output
Second win
Second win
First win
HINT
Source
【分析】
經典的巴什博弈,這個我覺得相較於斐波那契博弈,巴什博弈更好理解一點;
歸納一句話就是:給對手留下(m+1)的倍數,自己就能贏
那麼,要先手並且n%(m+1)==0的話,是不是就不可以給對手留下(m+1)的倍數了,此時,先手必敗!
【程式碼】
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
if (n%(m+1)==0)
{
printf("Second win\n");
}
else
{
printf("First win\n");
}
}
return 0;
}