欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HDU-2516-取石子游戏

程序员文章站 2022-06-29 13:36:06
...

ACM模版

描述

HDU-2516-取石子游戏

题解

Nim 游戏中的斐波那契数列游戏,判断 n 是否为斐波那契数即可。

代码

#include <iostream>

using namespace std;

const int MAXN = 50;

int n;
long long fib[MAXN] = {0, 1, 1};

void init()
{
    for (int i = 3; i < MAXN; i++)
    {
        fib[i] = fib[i - 1] + fib[i - 2];
    }
}

int main(int argc, const char * argv[])
{
    init();

    int flag;
    while (cin >> n && n)
    {
        flag = 1;
        for (int i = 3; i < MAXN; i++)
        {
            if (fib[i] == n)
            {
                flag = 0;
                puts("Second win");
            }
            if (fib[i] > n)
            {
                break;
            }
        }

        if (flag)
        {
            puts("First win");
        }
    }

    return 0;
}
相关标签: Nim游戏