zoukankan      html  css  js  c++  java
  • HDU2516 取石子游戏

    问题链接HDU2516 取石子游戏

    问题描述参见上文。

    问题分析这是一个典型的斐波那契博弈题,参见参考链接。

    程序说明

    (略)

    参考链接

    HDU2516:取石子游戏(斐波那契博弈)

    斐波那契博弈(Fibonacci Nim)


    AC的C++语言程序:

    /* HDU2516 取石子游戏 */
    
    #include <iostream>
    
    using namespace std;
    
    const int N = 1000000;
    long long fib[N+1];
    
    void setfib(int n)
    {
        fib[0] = 0;
        fib[1] = 1;
        for(int i=2; i<=n; i++)
            fib[i] = fib[i-2] + fib[i-1];
    }
    
    int main()
    {
        long long n;
    
        setfib(N);
    
        while(cin >> n && n) {
            for(int i=1; i<=N; i++) {
                if(n == fib[i]) {
                    cout << "Second win" << endl;
                    break;
                } else if(n < fib[i]) {
                    cout << "First win" << endl;
                    break;
                }
            }
        }
    
        return 0;
    }



  • 相关阅读:
    Daily Scrum 12.14
    Daily Scrum 12.13
    sss
    sss
    sss
    sss
    sss
    sss
    sss
    sss
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563787.html
Copyright © 2011-2022 走看看