排列组合

#include<bits/stdc++.h>
using namespace std;
int n,m;
int tmp[22];

void dfs(int dep,int st)
{
	int i;
	if(dep==m)
	{
		for(i=1;i<=dep;i++)
			cout<<tmp[i]<<' ';
		cout<<endl;
	}
	for(i=st;i<=n;i++)
	{
		tmp[dep+1]=i;
		dfs(dep+1,i+1);
	}
}

int main()
{
	cin>>n>>m;
	dfs(0,1);
	return 0;
}