微軟100題(22)ABC三人紙牌的推理

2021-07-02 20:09:30 字數 685 閱讀 6112

題目:

有4張紅色的牌和4張藍色的牌,主持人先拿任意兩張,再分別在a、b、c三人額頭上貼任意兩張牌,

a、b、c三人都可以看見其餘兩人額頭上的牌,看完後讓他們猜自己額頭上是什麼顏色的牌,

a說不知道,b說不知道,c說不知道,然後a說知道了。

請教如何推理,a是怎麼知道的。

推理:a b c都說不知道,那麼不存在兩個人的和為全紅 或者 全藍,至少有乙個人士 紅 藍 組合

第一遍a確實無法知道自己,b通過a不知道排除了自己bb,但是也沒法知道別的;c不知道

在輪到a時候:  假設自己是rr  第一遍b通過a不知道,排除了自己bb,c想,如果我是rr,b不會說不知道,c不知道,那麼此時b應該知道自己是rb,所以不符合題意

(1)b c都是一種顏色,那麼一上來a就知道,不符合題意

(2)b:bb c:rr  a不知道,b不知道(幫助a排除了rr),c也不知道(幫助a排除了bb),a=>rb

(3)b: rr c:rr 同上

(4)b:br c:bb b不知道(幫助a排除了bb),c不知道(如果a是rr),那麼此時b應該知道自己是rb,不符合題意,所以a不是rr,而是rb

(5)b:br  c:br

a:rr的話,b可能bb和rb,b是bb 的話,一開始c就知道自己是br; b是br的話,和情況4類似;

a:bb的話同上;

推出a還是br

微軟100題總結

一 二元查詢樹變為雙向列表 注意 什麼可以放在if裡邊,什麼必須放在if外邊 二 設計包含min函式的棧 注意 使用assert保證兩個棧有內容 三 連續子陣列的最大和 注意 使用新的貪婪 四 樹的路徑和為某一值 五 查詢最小的5個數 注意map的使用,預設是建立乙個小頂堆,使用greater是建立...

微軟面試100題

41.求固晶機的晶元查詢程式 晶元盤由數目不詳的大小一樣的晶元組成,晶元並不一定全布滿晶元盤,照相機每次這能匹配乙個晶元,如匹配過,則拾取該晶元,若匹配不過,照相機則按測好的晶元間距移到下乙個位置。求遍歷晶元盤的演算法 求思路。兩個非降序鍊錶的並集,1 2 3 和 2 3 5 並為 1 2 3 5 ...

微軟100題(100)智力題2

1.12個球乙個天平,現知道只有乙個和其它的重量不同,問怎樣稱才能用三次就找到那個球。13個呢?注意此題並未說明那個球的重量是輕是重,所以需要仔細考慮 5分鐘 1小時 2.在9個點上畫10條直線,要求每條直線上至少有三個點?3分鐘 20分鐘 3.在一天的24小時之中,時鐘的時針 分針和秒針完全重合在...