[微軟公司招聘題目]狗的問題

原題:
一個大院子裏住了50戶人家,每家都養了一條狗,有一天他們接到通知說院子裏有狗生病了,並要求所有主人在發現自己家狗生病的當天就要把狗槍殺掉。然而所有主人和他們的狗都不能夠離開自己的房子,主人與主人之間也不能通過任何方式進行溝通,他們能做的只是通過窗戶觀察別人家的狗是否生病從而判斷自己的狗病否。(就是說,每個主人只能看出其他49家的狗是不是生病,單獨看自己的狗是看不出來的)
第一天沒有槍聲,第二天還是沒有槍聲,第三天傳出一陣槍聲,問有多少條狗被槍殺。

答案:

假設只有一隻狗生病,那麼第一天那個病狗的主人發現別人家的狗都沒病,必然
就把自己的狗給殺了,第一天沒槍聲,說明至少有兩隻狗生病。
假設只有兩隻狗生病,那麼第二天那兩個病狗的主人發現別人家只有一隻狗生病,
必然把自己的狗給殺了,第二天沒槍聲,說明至少有三隻狗生病。
第三天有槍聲,說明有三隻狗生病,因爲這樣那三隻病狗的主人發現別人家只有
兩隻狗生病,從此判斷自己的狗也生病了,於是殺掉自己的狗。
因此有三條狗被殺。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章