UPS智力類筆試題和面試題答案目

思而思學(xué)網(wǎng)

有5 名囚犯,編號(hào)1~5,讓他們按照編號(hào)到裝有100 顆豆子的袋子里摸豆子,每 人都不知道別人摸的數(shù)目,但自己摸的時(shí)候知道袋子里剩下多少,摸得最多和最少的會(huì) 死,跟別人一樣多的兩個(gè)都會(huì)死,每個(gè)人都保證自己不死的前提下讓別人盡量多的人去 死,問編號(hào)多少的人存活概率最大?

顯然,為了避免成為受害者,對(duì)第n 個(gè)人(n>=3)而言,他的最佳策略就是取前面 所有人取的豆數(shù)的平均值。先來看看n=3,即第3 個(gè)人的情況。在他之前,1 號(hào)和2 號(hào) 已經(jīng)摸過了,分別記為A 和B,以下用邏輯表達(dá)式的形式來描述3 號(hào)所取的豆數(shù)C。 C = (A + B) /2 //3 號(hào)的初始策略,取前兩個(gè)人的平均值

if (A + B + C) > 100 //1 號(hào)和2 號(hào)加起來取走了超過67 個(gè)

{C = 100 - (A + B + 1 + 1)

if C == 1

return 0 //1 號(hào)和2 號(hào)共取走了97 個(gè),3、4、5 號(hào)認(rèn)命

else

return 1 //3 號(hào)安全。C 必定小于A、B 中的一個(gè),并且必定大于D、E} else

{if A<> B

{if C == int(C) //整除

{return 1 //3 號(hào)安全。C 必定位于A、B 二者之間} else

{C = int(C)

if abs(A - B) == 1 //1 號(hào)、2 號(hào)所取的數(shù)只相差1 個(gè)

return 2 //此時(shí)C = min(A,B),因此肯定已經(jīng)不可能是最多的。后面的4 號(hào)、5 號(hào)理 論

上還有可能犯錯(cuò)誤,3 號(hào)還存在一線存活的機(jī)會(huì)

}

else

return 1 //3 號(hào)安全。C 必定位于A、B 二者之間

}

else

{

return 2 //此時(shí)C =A = B。后面的4 號(hào)、5 號(hào)理論上還有可能犯錯(cuò)誤,3 號(hào)還存在一 線存活的機(jī)會(huì)

}

}

上面這段程序完全可以擴(kuò)展到n>3 的情況,最后我們會(huì)發(fā)現(xiàn)雖然理論上3 號(hào)比較有 利,實(shí)際上1 號(hào)根本不會(huì)給后面的人設(shè)計(jì)他的機(jī)會(huì)。所以唯一合理的結(jié)果應(yīng)該是A = B =

C = D=E = 20,也就是全都死翹翹。 當(dāng)然,以上推理有一個(gè)重要的假定,即“很聰明”的定義如下:“如果無論如何我都會(huì) 出局,則多一個(gè)墊背的比少一個(gè)好。”

熱門推薦

最新文章