hdu1525 博弈

/*
n%m==0 n状态
n>=2*m 先手决定谁来面对当前的状态,并且可以知道状态,所以先手必胜。
*/
#include<stdio.h>
int min(int x,int y)
{
    return x<y?x:y;
}
int max(int x,int y)
{
    return x>y?x:y;
}
int main()
{
    int n,m,i;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        int count=0;
        if(!n&&!m)break;
        while(1)
        {
            int t=min(n,m);
            n=max(n,m);
            m=t;
            if(n%m==0||m==0||n/m>=2)
                break;
            n=n%m;    
            count++;
        }
        if(count%2==0)
        {
            printf("Stan wins\n");
        }
        else 
        {
            printf("Ollie wins\n");
        }
    }
}

 

posted @ 2015-08-25 16:06  sweat123  阅读(185)  评论(0编辑  收藏  举报