提交时间:2024-03-15 18:16:46

运行 ID: 138343

#include<bits/stdc++.h> using namespace std; int n,k; void dfs(int u,int sum,int state){ if(sum+(n-u)<k) return; if(sum==k){ for(int i=0;i<n;i++){ if(state>>i&1){ cout<<i+1<<" "; } } cout<<endl; return; } if(u==n) return; dfs(u+1,sum+1,state|1<<u); dfs(u+1,sum,state); } int main(){ cin>>n>>k; dfs(0,0,0); return 0; }