P1071 潜伏者
//Pro:NOIP2009 T1 P1071 潜伏者 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<map> using namespace std; const int N=205; char c[N],y[N],to[N]; char ma[N],am[N]; bool f1[N],f2[N]; int cnt; int main() { scanf("%s",c); scanf("%s",y); scanf("%s",to); int len=strlen(c); for(int i=0;i<len;++i) { if(!f1[y[i]]&&!f2[c[i]]) { am[c[i]]=y[i],++cnt; f1[y[i]]=f2[c[i]]=1; } else if(!f1[y[i]]||!f2[c[i]]) { puts("Failed"); return 0; } else if(am[c[i]]!=y[i]) { puts("Failed"); return 0; } } if(cnt!=26) { puts("Failed"); return 0; } len=strlen(to); for(int i=0;i<len;++i) putchar(am[to[i]]); return 0; }