10個職業去打副本,共有多少種組合?
昨天晚上,新浪微博用戶哇哈哈哈哈哈2000發布了一條微博:http://weibo.com/5277494239/Cid5Wxq4K,內容如下:
題目為:《魔獸世界》中的10個職業去打副本,其中每個職業只能適用于一個位置,2個職業可以做坦克,4個職業可以治療,4個職業可以輸出。那么,如果5人團隊中,1坦克+1治療+3輸出的組合,共有多少種職業構成?
題目分析:這道題目看起來簡單,但是并非單純的排列或組合,并不是簡單套用公式可以算出結果,而是需要經過計算后使用排列+組合的公式,這條微博發出后,網友也議論紛紛,并且給出了各種正經、不正經的答案。
規則判定&難點:這道題目中,坦克+治療的組合很容易計算,是2x4=8種,難點在于輸出組合。按照題意,答案是“職業組合的數量”,也就是說只考慮不同職業數量與每種職業的數量,比如“法師+獵人+獵人”與“獵人+法師+獵人”或“獵人+獵人+法師”,是同一種組合,都是1法師+2獵人,而與“法師+法師+獵人”,就是兩種不同的組合。
正解如下:4個職業中選出3個職業組成輸出陣容,可以有重復職業的情況下,要分為三種不同職業構成:1、3個相同職業。2、3個不同職業。3、2個不同職業。那么正確計算方式是:
1、3個相同職業=C(4,1)=A(4,1)/1!=4!/(4-1)!/1!=4x3x2x1/3x2x1/1=4
公式雖然復雜,其實這里比較好理解,或者其實不用那么復雜的算法,4個職業選3個不同職業,也就是只有一個職業未上場,顯而易見是4種。
2、3個不同職業=C(4,3)=A(4,3)/3!=4!/(4-3)!/3!=4x3x2x1/1/3x2x1=4
這里其實算法和C(4,1)類似,不過因為C(m,n)=C(m,
3、其中2個不同職業=A(4,2)=4!/(4-2)!=4x3x2x1/2x1=12
為什么這里是A(4,2)而不是C(4,2)呢?因為4個職業里邊選2個職業,但是每種職業的數量是不同的所以相當于4個不同元素中選擇2個的排列,也就是分先后順序的,比如排在前邊的職業是x2,后邊的職業是x1。換一種思路,2個不同職業的算法也可以是:C(4,1)*C(3,1),這里的計算思路是:數量為1的職業可以從4個職業里邊選一個,數量為2的職業則是從剩余三個職業里選1個,也就是4*3。當然,也可以是先選擇數量為2的職業,在乘以數量為1的職業,但是這兩種計算方法都是包含全部組合的。
因此,關于“4個職業中組成3人,可以有重復職業”的組合數量是12+4+4=20種。那么最終答案就是:2x4x(4+4+12)=2x4x20=160種。怎么樣,你明白了嗎?■
關注我們


