hdu1525

来源:互联网 发布:怎么在淘宝刷好评赚钱 编辑:程序博客网 时间:2024/06/03 20:50
在这个过程中必有(b, a%b) 局势,如果a/b==1 的话一定下一步是(b, a%b) 这种局势,而这种局势一定能同过不断的重复 判断谁先遇到0这种状况,如果a/b == k (k>=2) 的话 谁要处于这种局势 谁就能决定谁将处于(b, a%b), 如果要自己处于这种局势的话 只要(b, a%(k*b)); 如果要对手处于这种状态的话 就(b, a%((k-1)*b) 下一次对手一定将这种局势变成 (b, a%b);#include<iostream>using namespace std;int main(){    int a, b;    while(cin >> a >> b&&a&&b)    {        int k = 0;        while(1)        {            k++;            if(a<b) swap(a, b);            if(a == 0|| b==0||a/b >= 2||a%b==0)                break;            a %= b;        }        if(k%2==0)            cout << "Ollie wins" << endl;        else            cout << "Stan wins" << endl;    }    return 0;}


 

原创粉丝点击