time limit: 20 sec
memory limit: 256 mb
阿里巴巴和n
個大盜來到了乙個藏滿寶石的洞穴。洞裡一共有m
顆價值連城的寶石,每一顆都等價。盜亦有道,為了獎勵幫忙開啟洞穴門的阿里巴巴,大盜們決定讓他一起加入分贓。大盜們決定採用一種方式分贓,分贓的方式如下:
1)每個人由抽籤決定了自己的號碼(1
, 2, 3
, ⋯, 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≤n≤2⋅m−2
, 2≤m≤100
)。output
如果阿里巴巴能活下來輸出乙個整數x
表示阿里巴巴最多獲得的寶石數,否則輸出−1。
sample input
4 100sample output
97題意
題解:
首先總人數是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不夠用的情況,在這裡不再討論。
注意心狠手辣一詞。
**:
#include #includeusing
namespace
std;
intn,m,ans;
intmain()
else
printf(
"%d\n
",ans);
return0;
}
UESTC 1253 阿里巴巴和n個大盜(博弈)
思路 乙個很經典的博弈問題,大神的題解 首先總人數是n 1人。由於必須半數以上人同意才能通過方案,所以當剩餘兩個人時2號必死,因為1號不同意就能獨吞。因此2號必須同意3號的方案,所以3號無論什麼方案都會被通過,因此他會選擇把所有寶石留給自己。當總人數三個以上時就有以下的情況 顯然4號需要至少3人的同...
十五個創業忠告 轉貼阿里巴巴
商海無涯,商機無限。怎樣少走彎路,快速而成功地創業創富,更是許多有志人士孜孜以求 苦苦拼鬥所共同面臨的難題。下面,就此獻上十五個忠告供您開啟。第乙個忠告 首先,要選擇賺錢的行業,投身有巨大潛力發展潛力的事業。第二個忠告 到錢多的地方,到最適合你 需要你,並且最容易讓你成功的地方去發掘寶藏。第三個忠告...
我和阿里巴巴的孽緣(三)
其實這事過去很久了,上週一的時候,由小萬去了一趟那家阿里巴巴的渠道商公司,用那張收據把200塊錢換了回來。週日我們一群人去玉淵潭遊玩的時候談到這個事情,順便就把它記錄一下,同時對於這家公司服務態度的不滿,我這裡把它的公司名公布一下 北京北聯訊通科技 周一,萬總帶著收據邁著歡快的步伐走進了坐落於八里莊...