Poj 1067 取石子游戏 Wythoff Game

    xiaoxiao2021-03-25  75

    原题网址:http://poj.org/problem?id=1067 感觉这个博客讲得很全:http://blog.csdn.net/u014733623/article/details/28272407

    //#include<bits/stdc++.h> #include<cstdio> #include<iostream> #include<cmath> const long double phi = (sqrt(5) + 1) / 2; int main(){ int n,m; while (scanf("%d%d",&n,&m) != EOF){ if (n > m) std::swap(n,m); int l = 0, r = 1e9; while (l < r){ int mid = (l + r + 1) / 2; if ((int)(mid*phi) > n) r = mid - 1; else l = mid; } //printf("l=%d calc=%d\n",l,(int)(l*phi)); if (n == (int)(l*phi) && m == n + l) printf("0\n"); else printf("1\n"); } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-15536.html

    最新回复(0)