[問題] 遞迴求組合問題

看板C_Sharp作者 (小漁歌)時間14年前 (2012/03/07 19:27), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
各位前輩小弟不才又來求助了 之前有問過關於遞迴的一些問題 自己實作之後還是一直碰到問題 所以想再請版友們幫忙 我的問題如下: 假設現在有三個籃子,每個籃子前面有一些水果,水果只能放進它前面的籃子 ,若籃子若籃子前面無水果,則以空籃子示之,求所有組合? 大概是長這樣子 籃子1 籃子2 芭樂 香蕉 籃子3 柳丁 所以答案應該是會出現以下的情形 空籃 芭樂 柳丁 空籃 香蕉 柳丁 我實作後碰到的其中一個問題就是當第一個籃子沒有任何水果時就GG了... 因為看了一些範例都是從第一個籃子去作切入點 我是有想了一個比較笨的方式去做判斷 就是去找到有水果的籃子去作切入點 可是還是有其他問題 我用符號舉例希望有人可以幫忙 List<int[]> combinations = new List<int[]>(); int[,] all = new int[3,3]; -1 -1 -1 -> 籃子0 all= 3 2 -1 -> 籃子1 (用這樣表示應該比較好理解,-1表示沒水果) 6 -1 -1 -> 籃子2 因次最後的結果應該是會出現 combinations[0] => [-1 3 6] combinations[1] => [-1 2 6] 問題我再定義清楚一點 all裡面的元素每一回合都會不一樣,但是size是固定的(以這個例子來看就是3 by 3) 而當籃子前面都沒水果的位置則以-1表示 舉例: -1 -1 -1 3 4 5 -1 -1 -1 EX1: 2 3 -1 EX2: -1 -1 -1 EX: 2 3 -1 0 -1 -1 2 6 -1 -1 -1 -1 希望版友可以幫忙,多謝多謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.37.49 ※ 編輯: wildcupid 來自: 140.112.37.49 (03/07 19:28) ※ 編輯: wildcupid 來自: 140.112.37.49 (03/07 19:33)

03/07 19:59, , 1F
好像寫出來了?不過如果有板友有其他寫法的話可以分享^^
03/07 19:59, 1F

03/07 23:21, , 2F
我上次的分享… http://ppt.cc/KI3Y
03/07 23:21, 2F

03/08 00:07, , 3F
樓上高手我是參考你的下去改的~萬分感謝^^
03/08 00:07, 3F

03/10 02:06, , 4F
http://ppt.cc/PJH9 好久沒碰遞迴,不知道有沒有想錯^^"
03/10 02:06, 4F
文章代碼(AID): #1FLqOnrd (C_Sharp)