詳細(xì)代碼在:https://github.com/summer-wu/murder_count
background
在面試的過程中碰到了一道題纺蛆,很有意思。琢磨了幾天污筷,終于想到了答案工闺。所以分享出來
question
原題內(nèi)容:
img_6439
有1001個(gè)盒子,其中有且只有1個(gè)事中了魔咒的盒子颓屑,任何看了中魔咒盒子的
人都會在每月1號死亡斤寂,殘忍的老國王要找出這個(gè)盒子耿焊,現(xiàn)在已經(jīng)是26號了揪惦,殘忍
的老國王至少需要抓到多少人,才能在下個(gè)月1號的時(shí)候罗侯,找到這個(gè)中了魔咒的盒
子器腋。為什么?
- 原題的表述是不嚴(yán)謹(jǐn)?shù)墓辰埽∥覈?yán)重懷疑出題人思路就是不清楚的纫塌。
- 需要對原題進(jìn)行部分修改。
- 修改1讲弄、在圖中第二行寫的是“人都會在每月1號死亡”措左,這句話有歧義:如果1月1號,1月1號死不死避除?原題的表述中無法解答這個(gè)問題怎披。所以需要把原題改為“人都會在下月1號死亡”。
- 修改2瓶摆、原題中表述為“下個(gè)月1號的時(shí)候”凉逛,不準(zhǔn)確!“時(shí)候”指的是時(shí)刻群井,而“1號”是一個(gè)時(shí)間范圍状飞。改為“下個(gè)月2號之前”
- 修改3、原題中表述為“中了魔咒的盒子”,說起來很別扭诬辈!我懷疑這道題是從英語翻譯過來的酵使。用中國話,直接叫“殺人盒”自晰。
- 修改4凝化、原題中“現(xiàn)在已經(jīng)是26號了”,是干擾信息酬荞!需要?jiǎng)h掉搓劫。
現(xiàn)在完整的問題內(nèi)容為:
國王有一個(gè)殺人盒,看了殺人盒內(nèi)容的人會在下月1號死亡混巧。
國王不小心把殺人盒混在1000個(gè)盒子里了枪向,每個(gè)盒子的重量、形狀咧党、顏色都完全相同秘蛔,只能通過殺人來找出殺人盒。
你是國王的使者傍衡,國王很著急深员,國王命令你在下個(gè)月2號之前找到殺人盒。
請問:你最少抓多少人才能找到殺人盒蛙埂?為什么倦畅?
假設(shè):抓的都是壯年男性,不會在被逮捕期間死亡绣的,只會因?yàn)榭戳藲⑷撕兴劳觥?
answer
- 我認(rèn)為這道題非常有意思叠赐,強(qiáng)烈建議你思考一下。我用了7天才終于找到正確答案
- 我已經(jīng)把我的答案寫在 answer.md 中了屡江,代碼實(shí)現(xiàn)在 answer.c
- 再次提示:希望你思考后再看芭概,直接看答案后你會覺得這道題索然無味!