样例过了,直接看代码吧
#include<bits/stdc++.h>
using namespace std;
int n,r,a[10],v[10];
void dfs(int k){
if(k>r){
for(int i=1;i<=r;i++)cout<<setw(3)<<a[i];
cout<<endl;
}
else for(int i=1;i<=n;i++)if(v[i]==0){
v[i]=1;
a[k]=i;
if(a[k]>a[k-1])dfs(k+1);
v[i]=0;
}
}
int main(){
cin>>n>>r;
dfs(1);
return 0;
}