題目
p 個海盜偷了 d 顆鑽石後來到公海分贓,一致同意如下分贓策略:
首先,p 個海盜通過抽籤決定 1 - p 的序號。然後由第 1 號海盜提出乙個分配方案(方案應給出每個海盜分得的具體數量),如果能夠得到包括 1 號在內的絕對多數(即大於半數)同意,則按照該分配方案執行,否則 1 號將被投入大海喂鯊魚;而後依次類似地由第 2 號、第 3 號等等海盜提出方案,直到能夠獲得絕對多數同意的方案出現為止,或者只剩下最後一位海盜,其獨佔所有鑽石。請編寫乙個程式,給出第 1 號海盜的鑽石分配方案中自己分得的鑽石數量。
附帶的三個假定:
「聰明」與「貪婪」假定:每個海盜總能夠以本人利益最大化作為行為準則;
「人性化」假定:在能夠取得盡量多鑽石的情況下,海盜不會故意致同夥於死地;
「無偏見」假定:海盜之間沒有個人恩怨,分給其他海盜鑽石的次序以小序號優先為原則。
輸入格式:
輸入在一行中給出 2 個正整數 d 和 p(3≤p≤d≤100)。
輸出格式:
輸出第 1 號海盜的鑽石分配方案中自己分得的鑽石數量。
輸入樣例:
10 7
輸出樣例:
6思路:(思路是網上查的我自己也不大能想到一步一步尋找規律,以後要注意啦!)
找規律:由題目得海盜人數》=3
當p=3時,ans=d-1;
當p>3時,ans=d-p/2-1
#include
using
namespace std;
intmain()
PTA 海盜分贓
p 個海盜偷了 d 顆鑽石後來到公海分贓,一致同意如下分贓策略 首先,p 個海盜通過抽籤決定 1 p 的序號。然後由第 1 號海盜提出乙個分配方案 方案應給出每個海盜分得的具體數量 如果能夠得到包括 1 號在內的絕對多數 即大於半數 同意,則按照該分配方案執行,否則 1 號將被投入大海喂鯊魚 而後依...
兄弟分錢 海盜分贓
類似的反推問題。問題描述 1 媽媽有2000元,要分給她的2個孩子。由哥哥先提出分錢的方式,如果弟弟同意,那麼就這麼分。但如果弟弟不同意,媽媽會沒收1000元,由弟弟提出剩下 1000元的分錢方式,這時如果哥哥同意了,就分掉這剩下的1000元。但如果哥哥也不同意,媽媽會把剩下的1000元也拿走,然後...
海盜分贓 。。。有點懵
p 個海盜偷了 d 顆鑽石後來到公海分贓,一致同意如下分贓策略 首先,p 個海盜通過抽籤決定 1 p 的序號。然後由第 1 號海盜提出乙個分配方案 方案應給出每個海盜分得的具體數量 如果能夠得到包括 1 號在內的絕對多數 即大於半數 同意,則按照該分配方案執行,否則 1 號將被投入大海喂鯊魚 而後依...