题解
2024-06-02 14:58:53
发布于:上海
26阅读
0回复
0点赞
在题解之前先声明:导入了string set map的库
加入团队吧
#include<iostream>
#include<string>
#include<set>
#include<map>
using namespace std;
string s1,s2,s3;
set<char> alphas;
map<char,char> codes;
int check_duplicate(string s1,string s2){
for(int i=0;i<s1.size();i++)for(int j=0;j<s1.size();j++)if(s1[i]==s1[j]&&s2[i]!=s2[j])return 0;
return 1;
}
int check_length(string s){
for(int i=0;i<s.size();i++)alphas.insert(s[i]);
return alphas.size()==26;
}
void dict_init(string key,string value){for(int i=0;i<key.size();i++)codes[key[i]]=value[i];}
int main(){
cin>>s1>>s2>>s3;
if(!check_duplicate(s1,s2))cout<<"Failed"<<endl;
else if(!check_length(s2))cout<<"Failed"<<endl;
else{
dict_init(s1,s2);
for(int i=0;i<s3.size();i++)s3[i]=codes[s3[i]];
cout<<s3<<endl;
}
return 0;
}
全部评论 2
是不是只要导入map就可以了?就是检测长度一起放入map,检查的check_duplicate先进行,再dict_init即可?
2024-01-13 来自 上海
1代码就28行
2024-01-12 来自 上海
0
有帮助,赞一个