千杯酒中檢測那一杯毒酒的問題及思考

2021-07-12 03:37:24 字數 683 閱讀 1823

曾經看到過有這樣乙個問題,據說是某大公司的面試題:現有1000瓶葡萄酒,只知道其中有一瓶是毒酒,但不知道是哪瓶,喝一點點毒酒(發作時間為一周)就會致命。不想因此浪費這1000瓶酒。一周時間,

故給出10只老鼠,10只杯,一次性找出那瓶

酒。亦或是另乙個版本:現有1000瓶葡萄酒,只知道其中有一瓶是毒酒,但不知道是哪瓶,喝一點點毒酒,就會致命。不想因此浪費這1000瓶酒。問最少用幾隻鼠能夠檢測出那杯毒酒。

兩種提問方式沒有本質區別。你可能之前看過相關的答案,但好像都沒有具體的思路分析。不知道大家是不是跟我一樣在看完答案之後一直在想為什麼是這樣的思路呢?為什麼要這樣想?這個問題我想了兩三天,終於想出了能說服自己的思路。這裡分享一下:

首先確定大的想法是:二進位制,對,是神奇的二進位制。那麼問題來了,二進位制又怎麼去想解決這個問題呢,這裡就是用到「抽象」,這裡的「抽象」是指將0和1抽象成鼠對於酒喝與不喝兩種狀態,即對於任意一杯酒來說,鼠喝之為1,不喝為0。那麼乙隻鼠可以唯一的描述兩瓶酒:不喝第一瓶酒為0,喝第二瓶酒為1,或者相反亦可。以此類推,兩隻鼠可以唯一的描述四瓶酒:00 01 10 11,那有人可能會問了,這樣就可以判斷哪瓶酒是毒酒嗎?沒錯!! 我們來繼續分析:我們現在可以用鼠來唯一的描述每瓶酒了,題目說只有喝了毒酒的鼠才會死,而且只要喝了就會死(一周後發作)。一周過後觀察鼠的死亡情況,我們可以肯定的是,死的鼠一定喝了毒酒,那麼死鼠對於毒酒的描述就是1,活鼠則為0。問題解決了。。。

敬歲月一杯酒

上天很有意思,貓喜歡吃魚,貓卻不能下水,魚喜歡吃蚯蚓,魚卻不能上岸。人生,就是一邊擁有,一邊失去,一邊選擇,一邊放棄。人生,哪有事事如意,生活,哪有樣樣順心。所以,不和別人較真,因為不值得,不和自己較真,因為傷不起,不和往事較真,因為回不去。網易雲 熱評 魚 陳綺貞 人的一生中,總有那麼幾年,暗淡無...

面試助力 與君共進一杯酒

時光匆匆,如白駒過隙,轉眼已是招聘熱潮,三月。出門已是江湖,武林紛爭。試問閣下 劍,佩妥否?關於面試,你真的都準備好了嗎?今天我們就來聊一下面試中兩個關鍵的細節。簡歷是求職的關鍵,大廠基本上在收到簡歷後會進行簡歷初篩和評估,只有都通過後才會聯絡你約面試。而很多人,因為種種原因,在這個環節被乾掉。武林...

雜記 萬丈紅塵一杯酒,千秋大業一壺茶

終日奔波只為飢,方才一飽便思衣。衣食兩般皆俱足,又想嬌容美貌妻。娶得美妻生下子,恨無天地少根基。買到田園多廣闊,出入無船少馬騎。槽頭扣了騾和馬,嘆無官職被人欺。縣丞主簿還嫌小,又要朝中掛紫衣。若要世人心裡足,除是南柯一夢西!解人頤 人生最大的財富是 健康 人生最珍貴禮物是 寬容 人生最大的錯誤是 自...