數論 博弈 巴什博弈 BAshGame

2021-10-06 00:00:45 字數 554 閱讀 7239

巴什博弈:一堆物品有n個,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m個。最後取光者得勝。
當石子有1−m個時,毫無疑問,先手必勝

當石子有m+1個時,先手無論拿幾個,後手都可以拿乾淨,先手必敗

當石子有m+2−2m時,先手可以拿走幾個,剩下m+1個,先手必勝

我們不難發現,面臨m+1個石子的人一定失敗。

設當前的石子數為n=k∗(m+1)+r

先手會首先拿走r個,接下來假設後手拿走x個,先手會拿走m+1−x個,這樣博弈下去後手最終一定失敗

設當前的石子數為n=k∗(m+1)

假設先手拿x個,後手一定會拿m+1−x個,這樣下去先手一定失敗

bool

function

(int n,

int m)

題解:hdu 1846

題解:hdu 4764

題解:hdu 2188

博弈 巴什博弈

只有一堆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 那麼只...

簡單博弈之巴什博弈

例題 guns和roses是兩個好朋友,這一天他們比賽吃葡萄。假定他們有ans顆葡萄。在比賽之前他們會首先確定每次吃葡萄的數量的最大值為s,和ans的具體值。兩個人輪流吃葡萄,每次最多吃s顆,不能不吃。即假定每次吃m顆葡萄,則 1 m s 遊戲規定在誰吃完葡萄後,他們兩個人所吃的葡萄總和等於ans,...