#include<bits/stdc++.h> using namespace std; int c[60]; char s[20]; char sub[20]; int id(char x){ if(x>='a'&&x<='z')return 26+x-'a'; else return x-'A'; } char ch(int x){ if(x<26)return 'A'+x; else return 'a'+x-26; } void printsubset(int u=0,int l=0){ printf("%s\n",sub); for(int i=u+1;i<52;i++){ if(c[i]){ sub[l]=ch(i); sub[l+1]=0; printsubset(i,l+1); } } } int main(){ int t; scanf("%d",&t); for(int u=0;u<t;u++){ scanf("%s",s); printf("case #%d:\n",u); memset(c,0,sizeof(c)); for(int i=0;s[i];i++){ c[id(s[i])]=1; } for(int i=0;i<52;i++){ if(c[i]){ sub[0]=ch(i); sub[1]=0; printsubset(i,1); } } } }
ecnu 3023 Enum
猜你喜欢
转载自www.cnblogs.com/TAMING/p/9115891.html
今日推荐
周排行