HDU 2897 邂逅明下

2021-10-02 05:55:09 字數 1543 閱讀 3499

原題:邂逅明下、

當日遇到月,於是有了明。當我遇到了你,便成了侶。

那天,日月相會,我見到了你。而且,大地失去了光輝,你我是否成侶?這注定是個淒美的故事。(以上是廢話)

小t和所有世俗的人們一樣,期待那百年難遇的日食。駐足街頭看天,看日月漸漸走近,小t的脖子那個酸呀(他堅持這個姿勢已經有半個多小時啦)。他低下仰起的頭,環顧四周。忽然發現身邊竟站著位漂亮的mm。天漸漸暗下,這mm在這街頭竟然如此耀眼,她是天使嗎?站著小t身邊的天使。

小t對mm驚呼:「緣分吶~~」。mm卻毫不含糊:「是啊,500年一遇哦!」(此後省略5000字….)

小t趕緊向mm要****,可mm說:「我和你玩個遊戲吧,贏了,我就把我的手機號告訴你。」小t,心想天下哪有題目能難倒我呢,便滿口答應下來。mm開始說遊戲規則:「我有一堆硬幣,一共7枚,從這個硬幣堆裡取硬幣,一次最少取2枚,最多4枚,如果剩下少於2枚就要一次取完。我和你輪流取,直到堆裡的硬幣取完,最後一次取硬幣的算輸。我玩過這個遊戲好多次了,就讓讓你,讓你先取吧~」

小t掐指一算,不對呀,這是不可能的任務麼。小t露出得意的笑:「還是mm優先啦,呵呵~」mm霎時愣住了,想是對小t的反應出乎意料吧。

她卻也不生氣:「好小子,挺聰明呢,要不這樣吧,你把我的郵箱給我,我給你發個文字,每行有三個數字n,p,q,表示一堆硬幣一共有n枚,從這個硬幣堆裡取硬幣,一次最少取p枚,最多q枚,如果剩下少於p枚就要一次取完。兩人輪流取,直到堆裡的硬幣取完,最後一次取硬幣的算輸。對於每一行的三個數字,給出先取的人是否有必勝策略,如果有回答win,否則回答lost。你把對應的答案發給我,如果你能在今天晚上8點以前發給我正確答案,或許我們明天下午可以再見。」

小t二話沒說,將自己的郵箱給了mm。當他興沖沖得趕回家,上網看郵箱,哇!mm的郵件已經到了。他發現文字長達100000行,每行的三個數字都很大,但是都是不超過65536的整數。小t看錶已經下午6點了,要想手工算出所有結果,看來是不可能了。你能幫幫他,讓他再見到那個mm嗎?

input

不超過100000行,每行三個正整數n,p,q。

output

對應每行輸入,按前面介紹的遊戲規則,判斷先取者是否有必勝策略。輸出win或者lost。

sample input

7 2 4

6 2 4

sample output

lost

win

題目大意:一堆n個石子,兩人輪流取,,最後拿空的人輸,至少拿走p個石子,至多拿走q個石子,問先手是否有必勝策略

這個問題其實就是bash博弈的高階版,所以其實還是建立模型,使石子是(p+q)的整數倍,然後就跟bash博弈差不多了。

假設 \[ n=k*(p+q)+r (r>0) \]

如果 \[ 1 \leq r \leq p \] ,則先手必敗,否則先手必勝

附**:

#include #include #include #include using namespace std;

int n,p,q;

int main()

return 0;

}

HDU 2897 邂逅明下

題意 一堆石子n個,a,b兩人輪流從中取,每次取的石子必須在 區間 p,q 內,若剩下的石子少於p個,取石者須全部取完。最後取石子的者輸。給出n,p,q,問先取者是否有必勝策略?思路 巴什博弈變形 證明 假設先手為a,後手為b,初始n個,除最後一次每次取的石子個數必須 在 區間 p,q 內,則 1....

HDU 2897 邂逅明下

題意是給n個錢幣,每個人最少取p顆,最多q顆,少於p顆時必須全部全完,取最後一下的人輸,判斷先手是贏還是輸。完全就是那個取1 m的模型的類推,把1換成p,m換成q,於是用類似的做法解決。include include include include include include include i...

HDU2897 邂逅明下

problem description 當日遇到月,於是有了明。當我遇到了你,便成了侶。那天,日月相會,我見到了你。而且,大地失去了光輝,你我是否成侶?這注定是個淒美的故事。以上是廢話 小t和所有世俗的人們一樣,期待那百年難遇的日食。駐足街頭看天,看日月漸漸走近,小t的脖子那個酸呀 他堅持這個姿勢已...