提交时间:2022-08-01 15:24:19

运行 ID: 56123

#include<bits/stdc++.h> using namespace std; int k,s[20],ans[7]; // 填空第n个格子,从s的第f位置往后遍历元素 void dfs(int n,int f){ if(n>6){ for(int i=1;i<=6;i++){ cout<<ans[i]<<" "; } cout<<endl; // return; } // 可以选择s的f~k号元素 for(int i=f;i<=k;i++){ ans[n]=s[i]; // 填空 dfs(n+1,i+1); // 用不降原则填写 } } int main(){ while(cin>>k && k){ // 输入集合数据 for(int i=1;i<=k;i++) cin>>s[i]; dfs(1,1); cout<<endl; } return 0; }