Re: [請益] 列出所有進出的排列組合
看板Prob_Solve (計算數學 Problem Solving)作者cutecpu (可愛中央處理器)時間14年前 (2010/08/11 00:19)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/3 (看更多)
程式碼:http://codepad.org/nYI1u4KC
演算法:先將 A_in B_in C_in D_in D_out 排好後,
使用遞迴倒插的方式依序對 C_out -> B_out -> A_out
插入可以插的位置
輸出結果:
A_in A_out B_in B_out C_in C_out D_in D_out
A_in B_in A_out B_out C_in C_out D_in D_out
A_in B_in B_out A_out C_in C_out D_in D_out
....
....
(略)
A_in B_in C_in D_in D_out A_out C_out B_out
A_in B_in C_in D_in D_out C_out A_out B_out
A_in B_in C_in D_in D_out C_out B_out A_out
共 105 種排列
※ 引述《aerolien (aerolien)》之銘言:
: A_in、A_out、B_in、B_out、C_in、C_out、D_in、D_out
: 這幾種狀況去作排列組合
: 限制為
: A_in 先於 B_in 先於 C_in 先於 D_in
: 要先 in 才能 out
: 而out則沒限制先後
: 若單純只用數學去算是105種情況
: 只是現在必須要探討這105種情況必須一一列出
: 想用程式寫
: 該怎麼去解 ? 只有用窮舉一途嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.137.4.87
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章