poj 2348 Euclid's Game (博弈局面分析)

来源:互联网 发布:直播软件收入排行榜 编辑:程序博客网 时间:2024/05/22 23:15

核心就是局面的分析。
- 必败态,必胜态的寻找分析
- 相互转换。
- 递推实现。

#include <iostream>class solve{private:    int a, b;    bool ans;public:    bool dfs(int a, int b) {        if (a > b) std::swap(a, b);        if (a == 0) return false;        if (b % a == 0) return true;        if (b - a < a) return !dfs(b - a, a);        return true;     }    void run() {        while (true) {            std::cin >> a >> b;            if (!a && !b) return;            std::cout << (dfs(a, b) ? "Stan wins" : "Ollie wins") << std::endl;        }    }}ac;int main(){    ac.run();    return 0;}
0 0
原创粉丝点击