#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int n;
int m;
const int N = 25;
int state[N];
void dfs(int u, int start)
{
if (u > m)
{
for (int i = 1; i <= m; i++)
{
cout << state[i]<<" " ;
}
cout << endl;
return;//最后一层,有了这一个条件,记得返回才能回到上层
}
for (int i = start; i <= n; i++)//代表节点下面的边,画图
{
state[u] = i;
dfs(u+1,i+1 );
state[u] = 0;
}
return;//不是最后一层,从这里返回上层
}
int main()
{
cin >> n >> m;
dfs(1,1);
system("pause");
return 0;
}
浙公网安备 33010602011771号