#include<cstdio>
using namespace std;
int n,k,answer[114];
bool vis[114];
void dfs(int layer,int last){
if(layer>k){
for(int i=1;i<=k;i++) printf(" %d",answer[i]);
printf("\n");
return;
}
for(int i=last+1;i<=n-k+layer;i++){
if(vis[i]==false){
vis[i]=true;
answer[layer]=i;
dfs(layer+1,i);
vis[i]=false;
}
}
}
int main(){
scanf("%d%d",&n,&k);
dfs(1,0);
return 0;
}
在老师的做题网站是AC,在这60(#6 #7 #8 #9 WA)
求大佬指点!!!