C++ 代码
#include<stdio.h>
int vis[26]={0};
int a[26]={0};
int n,m;
void dfs(int cnt){
if(cnt==m){
for(int i=0;i<m;i++)
printf("%d ",a[i]);
printf("\n");
return ;
}
for(int i=a[cnt-1]+1;i<=n;i++){
if(!vis[i])
vis[i]=1;
a[cnt]=i;
dfs(cnt+1);
vis[i]=0;
}
}
int main(){
scanf("%d %d",&n,&m);
dfs(0);
return 0;
}