描述
從 1~n 這 n 個整數中隨機選出 m 個,輸出所有可能的選擇方案。n>0, 0<=m<=n, n+(n-m)<=25。
輸入格式
兩個整數n,m。
輸出格式
按照從小到大的順序輸出所有方案,每行1個。
首先,同一行內的數公升序排列,相鄰兩個數用乙個空格隔開。其次,對於兩個不同的行,對應下標的數一一比較,字典序較小的排在前面(例如1 3 9 12排在1 3 10 11前面)。
樣例輸入
5 3樣例輸出
1 2 31 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
1 #include2using
namespace
std;
3 vectorf;
4int
main()516
if(u+k>n+1||u>n)return;17
f.push_back(u);
18 dfs(u+1,k-1
);19
f.pop_back();
20 dfs(u+1
,k);
21};
22 dfs(1
,m);
2324
return0;
25 }
CH 0302遞迴 非遞迴實現組合型列舉
描述 從 1 n 這 n 個整數中隨機選出 m 個,輸出所有可能的選擇方案。n 0,0 m n,n n m 25。輸入格式 兩個整數n,m。輸出格式 按照從小到大的順序輸出所有方案 每行1個。首先,同一行內的數公升序排列,相鄰兩個數用乙個空格隔開。其次,對於兩個不同的行,對應下標的數一一比較,字典序...
非遞迴解決組合問題
從m 個互不相同元素中取 n 個元素,一般選用遞迴或回溯演算法解決,本文旨在利用進製轉換的方法達到這一目的。如下 sub getall byval num as integer,byref x as variant,byref result as string,optional byref all ...
非遞迴 求所有組合
從 0,nn 1 這nn個數裡面,找到所有組合 例如con 5,3 0 1 2 0 1 3 0 1 4 0 2 3 0 2 4 0 3 4 1 2 3 1 2 4 1 3 4 2 3 4 類似於加法器,初始是0,1,2 每次給最後的乙個數字加一 令kmax 3,k在 0,kmax 則第k位置的數字進...