题目
代码
#include<iostream>
using namespace std;
#include<vector>
vector<int> path;//存储路径
vector<vector<int>> result;//存储结果
void backtracking(int startIndex, int n, int k)
{
if (path.size() == k)
{
result.push_back(path);
return;
}
for (int i = startIndex; i <= n; i++)
{
path.push_back(i);
backtracking(i + 1, n, k);//不断回溯
path.pop_back();
}
}
void main()
{
int n, k;
cin >> n >> k;
backtracking(1, n, k);
for (int i = 0; i < result.size(); i++)
{
for (int j = 0; j < k; j++)
{
cout << result[i][j] << " ";
}
cout << endl;
}
}