#include <iostream>
#include <vector>
using namespace std;
vector<vector<int> > result;
vector<int> path;
void backtracking (int n,int k, int start){
if(path.size() == k){
result.push_back(path);
return;
}
for(int i = start;i <= n; i ++){
path.push_back(i);
backtracking(n,k,i+1);
path.pop_back();
}
}
int main(){
backtracking(4,2,1);
for(int i = 0; i < result.size(); i ++){
vector<int> p = result[i];
for (int j = 0; j < p.size(); j++){
cout << p[j]<<",";
}
cout << endl;
}
return 0;
}
组合问题 C++ 实现
最新推荐文章于 2024-09-11 15:28:58 发布