[討論] 50隻狗找病狗...IBM面試問題疑點

作者: jeff740212 (孤單旅行)   2012-02-22 06:35:23
我湊巧在網路上看到這個問題
跟所謂的黑白機器人問題很相似
但是他的解答讓我覺得有很大的問題....
IBM公司向來以高素質人才作為企業持續競爭力的保證。進入IBM公司是差不多每個IT人的
夢想,偶然看到這條IBM公司的面試題,給大家試試看,看看是否具備進入IBM的實力!
国国村子中有50個人,每人有一條狗。在這50條狗中有病狗(這種病不會傳染)。於是人
們就要找出病狗。每個人可以觀察其他的49條狗,以判斷它們是否生病,只有自己的狗不
能看。觀察後得到的結果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是
病狗就要槍斃自己的狗,而且每個人只有權利槍斃自己的狗,沒有權利打死其他人的狗。
第一天,第二天都沒有槍響。到了第三天傳來一陣槍聲,問有幾條病狗,如何推算得出?
======================不想看解答勿往下翻========================
第一種推論:
 
A、假設有1條病狗,病狗的主人會看到其他狗都沒有病,那麼就知道自己的狗有病,
所以第一天晚上就會有槍響。因為沒有槍響,說明病狗數大於1。
国国B、假設有2條病狗,病狗的主人會看到有1條病狗,因為第一天沒有聽到槍響,是病
狗數大於1,所以病狗的主人會知道自己的狗是病狗,因而第二天會有槍響。既然第二天
也沒有槍響,說明病狗數大於2。
  由此推理,如果第三天槍響,則有3條病狗。
第二種推論:
1 如果為1,第一天那條狗必死,因為狗主人沒看到病狗,但病狗存在。
2 若為2,令病狗主人為a,b。 a看到一條病狗,b也看到一條病狗,但a看到b的病
狗沒死故知狗數不為1,而其他人沒病狗,所以自己的狗必為病狗,故開槍;而b的想法與
a一樣,故也開槍。
由此,為2時,第一天看後2條狗必死。
3 若為3條,令狗主人為a,b,c。 a第一天看到2條病狗,若a設自己的不是病狗,
由推理2,第二天看時,那2條狗沒死,故狗數肯定不是2,而其他人沒病狗,所以自己的
狗必為病狗,故開槍;而b和c的想法與a一樣,故也開槍。
由此,為3時,第二天看後3條狗必死。
4 若為4條,令狗主人為a,b,c,d。a第一天看到3條病狗,若a設自己的不是病狗
,由推理3,第三天看時,那3條狗沒死,故狗數肯定不是3,而其他人沒病狗,所以自己
的狗必為病狗,故開槍;而b和c,d的想法與a一樣,故也開槍。
由此,為4時,第三天看後4條狗必死。
5 餘下即為遞推了,由年n-1推出n。
========================解答結束===========================
已解決 原來是語病問題....
什麼第三天看後....(其實就應該是第四天)
不過如果題目條件加一個當場殺,
都會在第一天死掉.....是否有人跟我有同樣想法?
作者: puzzlez (帕索最帥!)   2012-02-22 06:40:00
推論1和推論2還不是一樣
作者: jeff740212 (孤單旅行)   2012-02-22 06:46:00
不一樣耶 一個是第三天有三隻 另一個有四隻推論一的成立條件應該為各自回家晚上在殺推論二的條件如果為當場殺 那我覺得還是不成立
作者: puzzlez (帕索最帥!)   2012-02-22 06:50:00
這跟何時殺沒什麼關係 而且推論2只是把答案擴展為n隻而已例如你第一天看到了3隻病狗 那你要殺掉自己的狗嗎?
作者: jeff740212 (孤單旅行)   2012-02-22 06:52:00
那兩個推論出的第三天病狗數量怎麼會不同?
作者: puzzlez (帕索最帥!)   2012-02-22 06:52:00
推論二能夠告訴你第一天要不要殺自己的狗?哪裡不一樣?病狗若有三隻 當事人只能看到二隻不是?
作者: jeff740212 (孤單旅行)   2012-02-22 06:58:00
原來....看推論2的第4點 他應該改為第四天四條狗必死什麼第三天後四條狗必死就怪了 第n天 = n 才是
作者: puzzlez (帕索最帥!)   2012-02-22 07:01:00
它寫 第三天看後....是啦...有語病....
作者: jeff740212 (孤單旅行)   2012-02-22 07:03:00
原來 害我還想那麼久 感謝 不過我還在想當場殺的話第一天不管幾隻病狗都會死光
作者: puzzlez (帕索最帥!)   2012-02-22 08:42:00
並不會例如你第一天看到了3隻病狗 那你要殺掉自己的狗嗎?如果你不能確定的話 其他人又怎麼能確定?而且這跟殺狗時間 一~點關係也沒有不管是哪一天的早上 中午 晚上殺 都沒差
作者: luciferii (路西瓜)   2012-02-22 11:52:00
錯....因為進入IBM才不是每個IT人的夢想 :P
作者: tp (會吵的孩子有糖吃)   2012-02-22 16:34:00
殺狗時間有關係阿,我看到了1隻病狗,過了一會兒還沒死那我是不是就可以立刻殺掉自己的狗了?
作者: remvsd (~~~)   2012-02-22 19:48:00
過了一會還沒死,那是因為還沒過這天啊,病狗的主人在還沒過這天之前就殺的話,那不管幾隻病狗,第一天都可以全部殺光了這種題目應該都是預設殺狗時間是在當天最後一刻,不然就沒意義了
作者: puzzlez (帕索最帥!)   2012-02-22 21:43:00
我已經不知道該說什麼了.....
作者: kuoll (kuoll)   2012-02-22 22:58:00
這題目表達的很爛(但是大家依經驗都知道它要問什麼) 如果題目敘述的嚴謹一點我相信推文的爭論就會解開了
作者: teves (teves)   2012-02-23 13:50:00
為什麼要進IBM? 我聽過微軟->google->facebook的演進說法可這裡面根本沒有IBM XD
作者: jeff740212 (孤單旅行)   2012-02-23 15:53:00
哈哈 IBM不是我說的拉 是那個題目上本來說的!
作者: lovejessie19 (Leon)   2012-03-04 01:32:00
假設病狗4隻 那二天就可以看出來了不是嗎?第二天A假設B只能看到兩隻 所以就應該殺自己的狗了可是都沒人開 代表B有看到3隻 所以是4隻...這問題真的有解嗎....答案就是4條 lol不對是3條 因為第一天不開槍才會知道有兩條以上所以第二天不開才會知道3條以上 正解無誤solved
作者: up1205   2012-03-08 10:32:00
想想難吧
作者: skyfire (惡魔甦醒)   2012-03-28 15:38:00
為什麼一天只能看一次狗?....一天看十次不行嗎?
作者: waveflower (waveflower)   2012-03-31 19:34:00
這題跟背後畫圈圈叉叉的題目好像喔
作者: TAGOSAKU (TAGOSAKU)   2012-03-11 13:58:00
推論二的第三條開始就不成立了吧......

Links booklink

Contact Us: admin [ a t ] ucptt.com