UESTC 1253 阿里巴巴和n個大盜(博弈)

2021-07-12 01:03:31 字數 1486 閱讀 3796

思路:乙個很經典的博弈問題,**大神的題解

首先總人數是n+1人。

由於必須半數以上人同意才能通過方案,所以當剩餘兩個人時2號必死,因為1號不同意就能獨吞。因此2號必須同意3號的方案,所以3號無論什麼方案都會被通過,因此他會選擇把所有寶石留給自己。

當總人數三個以上時就有以下的情況:顯然4號需要至少3人的同意,可知3號是無論如何不會同意的,因此他只需要拉攏1,2號即可,也就是給他們1,1的寶石。

5個人時只要3個人同意即可,此時因為5號如果死3號必定不會得到寶石,所以只要給他1個寶石即可。然後再拉攏1,2號中的任意乙個,給他們2個寶石即可。

以此類推,發現當(n+1)是偶數時阿里巴巴只要給1到n號人1,1,0,1,0,1,0....即可;當(n+1)是奇數時只要給x,x,1,x,1,x,1....(任意乙個x是2,其餘x都是0)即可。上述兩種情況答案都是m-(n+1)/2。

因為題目所給資料範圍的限制,本題不會出現m不夠用的情況,在這裡不再討論。

注意心狠手辣一詞。

另外補充的是也要注意題目中的 盡量確保自身利益不寄希望與別人給自己更大利益。

#includeusing namespace std;

int main()

}}

description

阿里巴巴和$n$個大盜來到了乙個藏滿寶石的洞穴。洞裡一共有$m$顆價值連城的寶石,每一顆都等價。盜亦有道,為了獎勵幫忙開啟洞穴門的阿里巴巴,大盜們決定讓他一起加入分贓。大盜們決定採用一種方式分贓,分贓的方式如下:

1)每個人由抽籤決定了自己的號碼($1$, $2$, $3$, $\cdots$, $n+1$)。

2)由$n+1$號提出分配方案,然後大家表決,當且僅當超過半數的人同意時(包括他自己),按照他的方案進行分配,否則這個人將被殺死。

3)$n+1$號死後,由$n$號接替$n+1$號對剩下的人提出分配方案,類似$2$步驟。以此類推。

大盜們都有如下的幾個性格特點

1)足智多謀,總是採取最優策略。

2)貪生怕死,盡量保全自己性命。

3)貪得無厭,希望自己得到越多寶石越好

4)心狠手辣,在自己利益最大的情況想希望越多人死越好。

5)疑心多慮,不信任彼此,盡量確保自身利益不寄希望與別人給自己更大利益。

不知道是不幸還是幸運,阿里巴巴抽到了$n+1$號籤,意味著他將第乙個提出分配方案。他想請教機智的你,他能否活下來,如果能又將獲得最多多少個寶石?

input

兩個整數$n$, $m$,分別表示$n$個大盜和$m$個寶石($1 \leq n \leq 2 \cdot m-2$, $2 \leq m \leq 100$)。

output

如果阿里巴巴能活下來輸出乙個整數$x$表示阿里巴巴最多獲得的寶石數,否則輸出$-1$。

sample input

4 100

sample output

hint

分配方案 0 2 1 0 97 或2 0 1 0 97(從$1$號到$5$號)。

cdoj 1253 阿里巴巴和n個大盜 博弈論

time limit 20 sec memory limit 256 mb 阿里巴巴和n 個大盜來到了乙個藏滿寶石的洞穴。洞裡一共有m 顆價值連城的寶石,每一顆都等價。盜亦有道,為了獎勵幫忙開啟洞穴門的阿里巴巴,大盜們決定讓他一起加入分贓。大盜們決定採用一種方式分贓,分贓的方式如下 1 每個人由抽籤...

我和阿里巴巴的孽緣(三)

其實這事過去很久了,上週一的時候,由小萬去了一趟那家阿里巴巴的渠道商公司,用那張收據把200塊錢換了回來。週日我們一群人去玉淵潭遊玩的時候談到這個事情,順便就把它記錄一下,同時對於這家公司服務態度的不滿,我這裡把它的公司名公布一下 北京北聯訊通科技 周一,萬總帶著收據邁著歡快的步伐走進了坐落於八里莊...

我和阿里巴巴的孽緣(三)

其實這事過去很久了,上週一的時候,由小萬去了一趟那家阿里巴巴的渠道商公司,用那張收據把200塊錢換了回來。週日我們一群人去玉淵潭遊玩的時候談到這個事情,順便就把它記錄一下,同時對於這家公司服務態度的不滿,我這裡把它的公司名公布一下 北京北聯訊通科技 周一,萬總帶著收據邁著歡快的步伐走進了坐落於八里莊...