HDU 2516採石ゲーム(FIBゲーム)
4026 ワード
石取りゲーム
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1911 Accepted Submission(s): 1094
Problem Description
1堆石はn個あり、2人が交代で取ります.先取者は1回目は任意の複数を取ることができますが、全部取ることはできません.その後、毎回取る石の数は前回の取子の数の2倍を超えてはいけません.取完者胜.先取者负出力"Second win".先取者胜出力"First win".
Input
複数のグループが入力.各グループの1行目は2<=n<2^31.n=0で終了する.
Output
先取者負出力「Second win」.先取者勝出力「First win」.
Sample Output.を参照
Sample Input
2 13 10000 0
Sample Output
Second win Second win First win
Source
ECJTU 2008 Autumn Contest
Recommend
lcy
模型紹介見世界チャンピオンのブログ:http://blog.csdn.net/acm_cxlove/article/details/7835016
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1911 Accepted Submission(s): 1094
Problem Description
1堆石はn個あり、2人が交代で取ります.先取者は1回目は任意の複数を取ることができますが、全部取ることはできません.その後、毎回取る石の数は前回の取子の数の2倍を超えてはいけません.取完者胜.先取者负出力"Second win".先取者胜出力"First win".
Input
複数のグループが入力.各グループの1行目は2<=n<2^31.n=0で終了する.
Output
先取者負出力「Second win」.先取者勝出力「First win」.
Sample Output.を参照
Sample Input
2 13 10000 0
Sample Output
Second win Second win First win
Source
ECJTU 2008 Autumn Contest
Recommend
lcy
模型紹介見世界チャンピオンのブログ:http://blog.csdn.net/acm_cxlove/article/details/7835016
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
int f[60];
int main()
{
int n;
f[0] = 1;
f[1] = 1;
for(int i = 2;i < 60;i++)
f[i] = f[i-1]+f[i-2];
while(scanf("%d",&n) == 1 && n)
{
bool flag = false;
for(int i = 0;i <60;i++)
if(n == f[i])
{
flag = true;
break;
}
if(flag)printf("Second win
");
else printf("First win
");
}
return 0;
}