洛谷1290 歐幾里德的遊戲

洛谷1290 歐幾里德的遊戲 本題地址: http://www.luogu.org/problem/show?pid=1290

題目描述
歐幾里德的兩個後代Stan和Ollie正在玩一種數字遊戲,這個遊戲是他們的祖先歐幾里德發明的。給定兩個正整數M和N,從Stan開始,從其中較大的一個數,減去較小的數的正整數倍,當然,得到的數不能小於0。然後是Ollie,對剛纔得到的數,和M,N中較小的那個數,再進行同樣的操作……直到一個人得到了0,他就取得了勝利。下面是他們用(25,7)兩個數遊戲的過程:
Start:25 7
Stan:11 7
Ollie:4 7
Stan:4 3
Ollie:1 3
Stan:1 0
Stan贏得了遊戲的勝利。 現在,假設他們完美地操作,誰會取得勝利呢?
輸入輸出格式
輸入格式:
第一行爲測試數據的組數C。下面有C行,每行爲一組數據,包含兩個正整數M, N。(M, N不超過長整型。)

輸出格式:
對每組輸入數據輸出一行,如果Stan勝利,則輸出“Stan wins”;否則輸出“Ollie wins”

輸入輸出樣例
輸入樣例#1:
2
25 7
24 15
輸出樣例#1:
Stan wins
Ollie wins

#include<cstdio>
#include<algorithm>
int tot,m,n;
int main()
{
    scanf("%d",&tot);
    for (int op=1;op<=tot;++op)
    {
        scanf("%d%d",&m,&n);
        if (m<n) {int t=m;m=n;n=t;}
        int f=1;
        while ((m/n==1)and(m%n!=0))
        {
            int t=m%n;
            m=n;
            n=t;
            f=-f;
        }
        if (f==1) printf("Stan wins\n");
        else printf("Ollie wins\n");
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章