NYOJ 23 取石子(一)

2021-08-16 06:25:58 字數 821 閱讀 9696

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度: 2

描述 一天,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

這道題是博弈論裡的巴什博弈問題,想明白後會發現很簡單。如果n個石子最多每次取m個,那麼只要最後剩下m+1個石子的時候,再先取的人必輸。所以,為了必贏,後取石子的人始終保持讓石子的總數目是m+1的倍數,那麼先手必輸。所以關鍵判斷條件在於判斷n%(m+10)等不等於0

#includeusing namespace std;

int main()

{    int n;

cin>>n;

while(n--)

{int a,b;

cin>>a>>b;

if(a<=b)

cout<<"win"<

NYOJ 23 取石子(一)

時間限制 3000 ms 記憶體限制 65535 kb難度 2 描述 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1 m 1000...

nyoj 23 取石子(一)

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1 m 100...

nyoj 23 取石子(一)

描述 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1 m 1000000 最先把石子取完者勝利。我們知道,tt和他 她的室友都十分...