1. 程式人生 > >面試過程中遇到的智力題

面試過程中遇到的智力題

1、滴滴三面真題

考慮一個雙人遊戲。遊戲在一個圓桌上進行。每個遊戲者都有足夠多的硬幣。他們需要在桌子上輪流放置硬幣,每次必需且只能放置一枚硬幣,要求硬幣完全置於桌面內(不能有一部分懸在桌子外面),並且不能與原來放過的硬幣重疊。誰沒有地方放置新的硬幣,誰就輸了。遊戲的先行者如何保證自己必勝?
    

答案:先行者在桌子中心放置一枚硬幣,以後的硬幣總是放在與後行者保持中心對稱。這樣,只要後行者能放,先行者一定也有地方放。先行者必勝。
 

 

2、頭條一面真題

有ABCD四個海盜,一共有十枚金幣,每個人依次對於分金子的方案作出提議,如果半數以上

的人同意他的提議,則他會活下去,如果沒有,則他會被扔進海里。問A海盜如何保證自己的利益最大化。

 

這題算是經典海盜分金問題的改進版吧,因為要求半數以上的人同意,才能活下去。看答案之前,可以先看一波經典海盜分金問題的解法吧。

參考連結:https://blog.csdn.net/u012050154/article/details/52231599

更細緻的參考連結:https://blog.csdn.net/y990041769/article/details/22858781

 

在牛客網發帖得到的思路:

逆向考慮:

1,只剩c,d。不管c怎麼分,d都能讓c死(半數以上同意才不死)。所以c肯定不能到這一步,那麼,b不管怎麼分,c都只能同意。

2,結合上面,d可以分10,0,0,。這裡,c肯定要保b不死,所以c肯定會同意,b就能有兩票,就不會死。

3,所以,a只需要分8,0,1,1。就可以拉攏c,d,加上自己,就有三票。

綜上,分8,0,1,1能保證a利益最大化

 

 

持續更新中--------------------------------------------