1. 程式人生 > >zcmu 1122: 取石子游戲II

zcmu 1122: 取石子游戲II

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; }