1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 #include <cmath> 5 #include <cstring> 6 using namespace std; 7 8 int s[11],n,r,vis[11]; //s存放数值输出 9 10 void dfs(int x,int cur) //x为当前值,cur表示第几个值 11 { 12 if(cur==r) 13 { 14 for(int i=0;i<r;i++) 15 printf("%d",s[i]); 16 printf(" "); 17 return ; 18 } 19 for(int i=x;i>=1;i--) 20 { 21 s[cur]=i; 22 dfs(i-1,cur+1); 23 } 24 } 25 int main() 26 { 27 while(~scanf("%d%d",&n,&r)) 28 { 29 for(int i=n;i>=r;i--) 30 { 31 s[0]=i; 32 dfs(i-1,1); 33 } 34 } 35 return 0; 36 }