HDU1846 巴什博奕,證明)

2021-09-18 06:50:49 字數 566 閱讀 6527

題意:兩個頂尖聰明的人在玩遊戲,有nn個石子,每人可以隨便拿1−m1−m個石子,不能拿的人為敗者,問誰會勝利

解析:我們從最簡單的情景開始分析

當石子有1−m1−m個時,毫無疑問,先手必勝

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

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

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

這樣的話兩個人的最優策略一定是通過拿走石子,使得對方拿石子時還有m+1m+1個

我們考慮往一般情況推廣

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

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

#include#includeusing namespace std;

int main()

else

printf("second\n");

} return 0;

}

hdu 1846巴什博奕

好幾天沒出題了,今天終於水了一題巴什博弈題。總結 一 巴什博弈 物件 一堆石子 可延伸 重要公式 n m 1 r s s不為0的話,先手必贏 思維拓展 先手必贏 較為簡單,就是去掉一堆石子n中 比最高可取的數目m再多1的倍數 的數目的餘數s,讓對方每次只能最多拿掉m個石子,但是這個回合中先手就可以能...

HDU 1846 Brave Game(巴什博奕)

題目鏈結 有n個石子,兩人輪流進行取石子,每次可以取走 1 m 個石子,最先取光石子的一方為勝,輸出勝者?2 23 2 4 3first second 直接就是 巴什博奕。當n m 時,先手可以一次取完,則先手必勝。當n m 1 時,先手不管怎麼取都會使剩餘的石子nn 有1 nn m 則先手必敗。當...

hdu 2149 hdu 1846 巴什博弈)

首先介紹一下巴什博奕 bash game 只有一堆n 個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m 個。最後取光者得勝。分析 顯然,如果n m 1 那麼由於一次最多只能取 m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘的物品,後者取勝。因此我們發現了如何取勝的法則 如...