最近一道題在百度貼吧非;,就是500桶酒有一桶是毒酒,需要找囚犯來試酒,究竟要找多少名囚犯才能在酒會開始之前找到毒酒,網(wǎng)上答案有很多,小編這里為大家附上完整版的答案。
500桶酒毒酒題目介紹
題目一:500桶酒,其中1桶是毒酒;48小時后要舉行酒會;毒酒喝下去會在之后的第23-24小時內(nèi)毒死人;國王決定用囚犯來試酒,不介意囚犯死多少,只要求用最少的囚犯來測試出哪一桶是毒酒,問最少需要多少囚犯才能保證找出毒酒?
題目二:國王為10天后的生日宴會準備了1000桶酒,不幸的是,其中兩桶被下了毒。為了確定兩桶毒酒,有人提議用死刑犯試毒。毒的潛伏期為10天。問:至少需要多少個死刑犯才能確保找出毒酒?方案如何實行?
題目一答案參考
1、23人,每人喝22至23種酒,24小時,毒死一人,能確定毒酒在23種以內(nèi),剩下的22人,每人喝一種,再過24小時就能找出毒酒。
2、22人也行,一人喝22種,如果死人,確定22種,否則16種,剩下的21人,沒人一種,24小時后死不死人都可確定是哪一桶。
3、最多9人,三維空間定酒,xyz三維各站3人,原點不站,來兩輪,可判斷。
4、21個人就夠了,需要計時。每個人每1小時喝一個沒嘗過的酒,哪個人掛了,往前推算23.5小時就知道了。
5、我覺得比較直接的辦法是20個人,將酒按編號分為20組,其中10組是1~10,11~20,21~30....,另外10組是1,11,21...;2,22,32,...;3,13,23,....;每個人喝一組酒,最多死4個人,根據(jù)死的人所喝的組數(shù)來交叉確定毒酒,不知道對每桶酒進行2進制編號是不是也行,因為2的9次方等于1024,也就是說,9個人就夠了--麻煩的是,每個人要喝500桶酒的混合液....然后根據(jù)死的人喝的酒的代碼進行交叉,找到毒酒。
6、應該五人足夠,每人喝一種,然后兩兩組合喝一種,再三三組合喝一種,再四四組合喝一種,再五人同喝一種,可以試31種,然后過一個小時重復之前的喝法,五個人41個小時就能試出來。
7、最少2個囚犯。
酒從1-500編號,第一個囚犯喝0時刻喝標號1~20的酒,1時刻喝21~40的酒,……24時刻喝481~500的酒,第二個囚犯0時刻喝標號1、21、41、……481的25種酒,……19時刻喝標號20、40、……500的酒,根據(jù)兩只老鼠死的時間就可以推出是哪一桶酒有毒。
題目二答案
1、用2進制編碼吧,需要20個人。每桶酒2進制編碼后排成10列,每列安排2個人喝酒:
0000000000
0000000001
0000000010
0000000011
0000000100
0000000101
0000000110
0000000111
.........
每列的2個人,對應酒桶編碼,一個喝這位數(shù)是0的,一個喝這位數(shù)是1的酒
然后根據(jù)死的人來確定酒的該位置代碼是零還是1
2、酒桶標號1-1000,轉(zhuǎn)化成二進制0000000001-1111101000
10個囚徒對應10位,某桶酒數(shù)值為1的數(shù)位就給對應那囚徒喝那桶酒
最接近的答案
只需要2個人。將500桶酒編個號,1到500,然后讓第一個人在接下來的25個小時里,每一個小時品嘗20桶酒,按編號來第一個小時喝的是1,2…20,第二個小時喝的是21,22…40以此類推,最后第25小時喝481,482,…500。
第二個人只要在接下來的20個小時每小時喝25桶酒,但酒的編號不同,第一小時喝1,21,…481。第二小時喝2,22…482,以此類推,第20小時喝20,40…500。
然后看兩個人死亡的時間,從而推出哪瓶毒酒。再通過排列組合確定具體哪瓶。
圖解分析
答案是5人
相關(guān)視頻
- 安卓官方手機版
- IOS官方手機版