1 条评论

  • @ 2024-8-8 16:30:05
    #include<bits/stdc++.h>
    #pragma GCC optimize(3)
    using namespace std;
    char v[27]={'A','B','C','D','E','F','G','H','I','J','K','L',
    'M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
    int a_[100],b_[100];
    int r[100];
    int main(){
    	freopen("spy.in","r",stdin);
    	freopen("spy.out","w",stdout);
    	int flag=0,panduan=0;
    	string a,b,c,da;
    	cin>>a>>b>>c;
    	long long alen=a.size(),blen=b.size(),clen=c.size();
    	for(int i=0;i<alen;i++){
    		for(int j=0;j<26;j++){
    			if(a[i]==v[j]) a_[j]++;
    		}
    	}
    	for(int i=0;i<26;i++) if(a_[i]==0){cout<<"Failed";return 0;}
    	for(int i=0;i<blen;i++){
    		for(int j=0;j<26;j++){
    			if(b[i]==v[j]) b_[j]++;
    		}
    	}
    	for(int i=0;i<26;i++) if(b_[i]==0){cout<<"Failed";return 0;}
    	for(int i=0;i<clen;i++){
    		int d=0;
    		string t,k;
    		for(int j=0;j<alen;j++){
    			if(c[i]==a[j]&&t.size()==0){
    				t[0]=b[j];
    				d++;
    			}
    			if(c[i]==a[j]&&t[0]!=b[j]&&d>0){
    				cout<<"Failed";
    				return 0;
    			}
    			if(k.size()==0&&t.size()==0){
    				k[0]=a[j];
    				t[0]=b[j];
    				d++;
    			}
    			if(k[0]!=a[j]&&t[0]==b[j]||k[0]==a[j]&&t[0]!=b[j]){
    				cout<<"Failed";
    				return 0;
    			}
    		}
    	}
    	for(int i=0;i<clen;i++){
    		int d=0;
    		string t;
    		for(int j=0;j<alen;j++){
    			if(c[i]==a[j]){
    				da+=b[j];
    				break;
    			}
    		}
    	}
    	cout<<da;
    	return 0;
    }
    • 1