1411020830 ny 取石子(一)

2021-06-26 17:52:24 字數 911 閱讀 8320



時間限制:

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

解題思路

這是三大博弈中的巴什博奕。

(一)巴什博弈(bash game):

只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取 m 個。最後取光者得勝。

顯而易見,當剩餘的石子個數為 1,2...m 時,此狀態必為必勝狀態,由此可知,當剩餘的石子個數為 m+1時為必敗狀態,但是當剩餘石子個數為 m+2, m+3 ... 2m+1 時,玩家可以取走一定量的石子,使剩餘的石子數為必敗狀態的 m+1 個石子,故當剩餘石子個數為 m+2, m+3 ... 2m+1 時為必勝狀態。以此類推,可知當石子數為 k*( m+1 ) 時為必敗狀態。據此可解。 **

#includeint main()

return 0;

}

取石子遊戲

如下 include include intmain k b a temp floor k 1.0 sqrt 5 2.0 if temp a printf 0 n else printf 1 n return 0 一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每...

取石子問題

xiao tang和xiao jiang非常喜歡玩一種有趣的小遊戲 有n個石子,兩人輪流從中取出1個,3個或4個石子,當石子被取空時,遊戲結束。最後乙個取石子的人獲勝,第一次總是xiao tang取.當然,他們倆都足夠聰明,總會採取最優的策略。input 每行會有乙個正整數n n 100000 代表...

取石子問題

有一種很有意思的遊戲,就是有物體若干堆,可以是火柴棍或是圍棋子等等均可。兩個人輪流從堆中取物體若干,規定最後取光物體者取勝。這是我國民間很古老的乙個遊戲,別看這遊戲極其簡單,卻蘊含著深刻的數學原理。下面我們來分析一下要如何才能夠取勝。一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這...