六、非重複生成全子集組合排列(含重複數字時,生成不重複全子集組合排列)
對于搜尋的深度很深或深度不固定的情況,則無法用枚舉的方法來設定循環嵌套的層數,這時可以考慮用遞歸法來完成搜尋任務。遞歸是一種常用算法,它是搜尋的另一種實作方式。如果在算法設計中采用一個函數或過程直接或間接地調用它自身來解決問題的方法,則稱該方法為遞歸算法。遞歸算法必須要設計好一個或若幹個确定的遞歸終止條件。
Sample Input
4
1 2 2 3
Sample Output
1
12
122
1223
123
13
2
22
223
23
3
注意:倘若需要輸出空集(也即輸出一個換行),可做如下修改
在函數solve()中,将if(l)puts(""); 改為puts("");