80pts求条 #3 #4
查看原帖
80pts求条 #3 #4
1194403
linyunxiang1111楼主2024/11/18 20:37
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
const int INF = 0x3fffffff;
char m[100];
int main() {
	memset(m,-1,sizeof(m));
	string s1,s2,mi;
	getline(cin,s1);
	getline(cin,s2);
	cin >> mi;
	int len = s1.size();
	for(int i=0; i<len; i++) {
		for(int j=0; j<26; j++) {
			if(m[s1[i]-'A']==-1 && m[j]==s2[i]) //判断自相矛盾 
			{
				cout << "Failed" << endl;
				return 0;
			}
			m[s1[i]-'A'] = s2[i];
		}
	}
	for(int i=0;i<26;i++){ //判断第2个条件 
		if(m[i] == -1){
			cout << "Failed" << endl;
			return 0;
		}
	}
	int lenmi = mi.size();
	for(int i=0;i<lenmi;i++){
		cout << m[mi[i]-'A'];
	} 
	return 0;
}
2024/11/18 20:37
加载中...