1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <iostream> using namespace std;
int n,m;
void dfs(int d,int s,int state){ if(d==n){ if(s==m){ for(int i=0;i<n;i++) if((state>>i)&1) printf("%d ",i+1); puts(""); } return; } if(s<m) dfs(d+1,s+1,state|(1<<d)); dfs(d+1,s,state); }
int main(){ scanf("%d%d",&n,&m); dfs(0,0,0); return 0; }
|