你有胆就交一发
#include<bits/stdc++.h>
using namespace std;
int n,r,a[30];
bool b[30];
void print()
{
for(int i=1;i<=r;i++)printf("%3d",a[i]);
cout<<endl;
}
void dfs(int k)
{
for(int i=1;i<=n;i++)
if(!b[i])
{
a[k]=i;
b[i]=1;
if(k==r)print();
else dfs(k+1);
b[i]=0;
}
}
int main()
{
cin>>n>>r;
dfs(1);
return 0;
}