nyoj 2359 巴什博弈?(博弈 找規律)

2021-08-09 10:54:08 字數 669 閱讀 6775

題目描述

有n個石子,有兩人輪流從中取石子,最少a個最多b個,誰沒得取(即當輪到他取是已經沒有石子可以取了,也就是說此時石子數量小於a)誰贏,現在,llm先取,問你llm能贏嗎
輸入

每個測試樣例少於100000組測試資料 

每組測試樣例第一行三個整數n,a,b

1<=a<=b,n<=100000000

輸出

如果llm能贏,輸出yes,否則輸出no
樣例輸入

1 1 1

2 1 2

樣例輸出

no yes

思路:類似於巴什博弈,那就直接找先手必勝的條件了

n先取餘(a+b)得到k

如果k≥2a的話,先手可以先拿k-a個,只要給後手留下a個,那就肯定能贏

如果k<a的話,先手可以先拿b個,後手無論拿多少個,最後剩下的一定小於a個

(例如n=x*a+(x-1)b-1即k=a-1時,先手先拿b個,後手拿t個,先手接著拿a+b-t個,這樣一直迴圈,最後輪到後手的時候一定剩下2a-1(a+k)個,所以後手必敗)

**:

#include

int main()

return

0;}

nyoj 2359 巴什博弈?

時間限制 1 sec 記憶體限制 30 mb 提交 250 解決 47 提交 狀態 討論版 有n個石子,有兩人輪流從中取石子,最少a個最多b個,誰沒得取 即當輪到他取是已經沒有石子可以取了,也就是說此時石子數量小於a 誰贏,現在,llm先取,問你llm能贏嗎 每個測試樣例少於100000組測試資料 ...

博弈 巴什博弈

只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m個。最後取光者得勝。顯然,如果n m 1,那麼由於一次最多只能取m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘的物品,後者取勝。因此我們發現了如何取勝的法則 如果n m 1 r s,r為任意自然數,s m 那麼先取...

博弈之 巴什博弈

博弈乍看都是乙個高大上的詞語 巴什博弈的主要內容 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m個。最後取光者得勝。其中它強調的是只有一堆物品 如果n m個 那麼先拿的一定會贏,如果n m 1 個,那麼第乙個人無論拿多少,第二個人一定會最後取光,如果n m 1 n 那麼只...