推 s19037:(1)有甲~葵身高均不同的十二個人 排成一列 07/10 18:58
→ s19037:求任一較高者 夾在2個較矮者之間的排法有幾種 07/10 18:58
亞所,第二提交給你了(拍肩
我不知道我自己有沒有誤解題義
我原本的想法是所有的高的人都會被兩個矮的夾住
但這樣的話...會半種排法都沒有
所以是只要有任一較高者夾再兩個較矮者中間就算一種嗎?
這樣的話我的想法....
1 2 3 4 5 6 7 8 9 10 11 12 共十二人
數字等於身高XD
要符合題目要求
那就用反面作法吧!
意思就是:全部排列數-不符合的排列數=題目要求的排列數
全部排列數:12!
不符合的排列數:
1先排
接下來的每個人依序(從2 3 4....到12)排列
可以選擇要排最左邊或最右邊
這樣就能保證每個人一邊是較高者,一邊較矮(一般情形)
或者兩邊都較高(1號),或者有一邊沒人(首尾)
因此每個人有兩種選擇
總共11個人要選
所以是2^11次方
所以說.....
題目要求的排列數=12!-2^11
這樣理解題目的話變的很簡單欸= =
(我是說數字= =a)
有這麼簡單嗎@@
以下是我原本的想法....
先看12號這個人,只要他在中間,就一定能達成題目要求
因此我們先試著把12號擺在中間
算排列數:1~11號先排列,再把12號往中間空格塞
共11!*10種
再算12號在首尾可達成題目要求的排列數
算法就變成這樣12在中間+12在首尾
12在首尾時
剩下11人要達成題目要求
任一個較高者要夾在兩個較矮者中間
就等於是把題目的12人,改為11人
因此算法類推,先算11號往中間塞,再加上11號在兩旁的
但要注意的是,算完之後要記得12號可以選擇他要在首或尾
兩種選擇,所以最後要乘2
先算11在中間的共10!*9種
接著再把11 12號往旁邊丟....
如此下去....
所以會是....
(((((((((2!*1*2 + 3!*2)*2 + 4!*3)*2 + 5!*4)*2 + 6!*5)*2 + 7!*6)*2 + 8!*7)*2 + 9!*8)*2 + 10!*9)*2 + 11!*10)
其實我是把上述式子丟EXCEL硬幹之後才發現
跟全排只差2048科科
幹....算完之後才發現一個大笨點
甲到癸明明只有10人 凸!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.168.19
推 Hevak:最後一行害我噴茶 07/10 19:46
推 s19037:我只是複製我同學打的-...- 07/10 19:48
推 jay94715:甲乙丙丁戊己庚辛壬癸 小 "葵"~ 07/10 19:48
→ newacc:==============吃飯去 有事推文等等回XD================= 07/10 19:49
推 s19037:所以答案有變嗎= = 階層我沒教過 07/10 19:50
推 x000032001:XDDDDDDDDDDDDDDDD 07/10 20:51