大公司網易遊戲遊戲開發工程師面試題之做題問題
作者:雲夢澤
時間:2013.10.21
出處:
宣告:
題目:一次考試,有25人蔘加,有ABC三題,每人至少會做一題,在不會做A的人中,會做B的人是會做C的人的兩倍,在會做A的人中,只會做A的人比其他的少一人,不會做A的人和只會做A的人數相等,問只會做B的有幾人?
個人覺得題目並不難,關鍵是選取恰當的表示方法,在此,我們可借用概率論中的符號表示方法,例如f(A)可表示會題目A的人數,f(~A)不會A的人數,f(B|~A)不會A的人中會B的人數,f(C|~A)不會A的人中會C的人數,f(oA)表示只會A的人數。
根據題意:
2* f(C|~A)=f(B|~A) (1)
f(oA)+1=f(A)-f(oA) (2)
f(~A)=f(oA) (3)
f(A)+ f(~A)=25 (4)
聯合解得 f(~A)=f(oA) =8 (5)
問題問的是B相關,f(~A)=f(oB|~A)+f(oC|~A)+f(BC|~A)=8
X + Y + Z =8
X + Z =2(Y+Z)
得 Y=2X-8
得 X=4 Y=0 Z=4
或 X=5 Y=2 Z=1
由於問的只會做B題的人數,當然肯定不會做A題
所以 Answer=X=f(oB|~A)=4 或Answer=f(oB|~A)=X=5