提交时间:2024-01-23 09:02:48

运行 ID: 123709

#include<bits/stdc++.h> using namespace std; const int N=2^16+10; int a[N],n; string s[N]; int idx; void dfs(int k){ if(k==n+1){ idx++; for(int i=1;i<=n;i++){ if(a[i]==1){ s[idx]+=(char)(i+'a'-1); } } return; } for(int i=0;i<=1;i++){ a[k]=i; dfs(k+1); } } int main(){ scanf("%d",&n); dfs(1); sort(s+1,s+idx+1); for(int i=1;i<=idx;i++){ cout<<'('<<s[i]<<")"<<endl; } return 0; }