看板 C_Sharp 關於我們 聯絡資訊
各位前輩小弟不才又來求助了 之前有問過關於遞迴的一些問題 自己實作之後還是一直碰到問題 所以想再請版友們幫忙 我的問題如下: 假設現在有三個籃子,每個籃子前面有一些水果,水果只能放進它前面的籃子 ,若籃子若籃子前面無水果,則以空籃子示之,求所有組合? 大概是長這樣子 籃子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)
wildcupid:好像寫出來了?不過如果有板友有其他寫法的話可以分享^^ 03/07 19:59
qwer820404:我上次的分享… http://ppt.cc/KI3Y 03/07 23:21
wildcupid:樓上高手我是參考你的下去改的~萬分感謝^^ 03/08 00:07
hatasum:http://ppt.cc/PJH9 好久沒碰遞迴,不知道有沒有想錯^^" 03/10 02:06