天天看點

NYOJ-取石子

(一)

描述一天,TT在寝室閑着無聊,和同寝的人玩起了取石子遊戲,而由于條件有限,他/她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為N(1<=N<=1000000),兩個人輪番取出其中的若幹個,每次最多取M個(1<=M<=1000000),最先把石子取完者勝利。我們知道,TT和他/她的室友都十分的聰明,那麼如果是TT先取,他/她會取得遊戲的勝利麼?

輸入

第一行是一個正整數n表示有n組測試資料

輸入有不到1000組資料,每組資料一行,有兩個數N和M,之間用空格分隔。

輸出

對于每組資料,輸出一行。如果先取的TT可以赢得遊戲,則輸出“Win”,否則輸出“Lose”(引号不用輸出)

樣例輸入

2

1000 1

1 100

樣例輸出

Lose

Win

//此即為巴氏博弈(BASH GAME),當N ≤ M 時,顯然TT獲勝 ; 當 N > M,我們做如下分解: N = (M+1)*s + r,

//隻要r不為0,由于最多取M,進而TT可在對手取走x後,取走M+1-x,這樣顯然TT必勝;同理r=0,對手可以按相同的政策使得TT必敗

//對于實際程式而言,僅N%(M+1) == 0時,Lose
#include <stdio.h>
int main()
{
    int n,N,M;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d%d",&N,&M);
        printf("%s\n",(N%(M+1))?"Win":"Lose");
    }
    return 0;
}      

轉載于:https://www.cnblogs.com/520xiuge/p/5527623.html

下一篇: nyoj-素數環