比赛 |
防止颓废的小练习v0.3 |
评测结果 |
|
题目名称 |
潜伏者 |
最终得分 |
0 |
用户昵称 |
ciyou |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2016-10-19 17:45:14 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<map>
#include<cstring>
using namespace std;
map<char,char> exist,mapped;
char locked[1000],key[1000],message[1000];
int mapn=0;
int size(char* t){
int s=0;
for(int i=0;i<=999;i++){
if(t[i]>'Z'||t[i]<'A') break;
s++;
}
return s;
}
int main(){
freopen("spy.in","r",stdin);
freopen("spy.out","w",stdout);
scanf("%s",locked);
scanf("%s",key);
scanf("%s",message);
char nil=exist['q'];
int sol=size(locked),sok=size(key),som=size(message);
for(int i=0;i<sol;i++){
if(exist[locked[i]]==nil){
if(mapped[key[i]]==locked[i]||mapped[key[i]]==nil){
exist[locked[i]]=key[i];
mapped[key[i]]=locked[i];
mapn++;
}else{
printf("Failed\n");
return 0;
}
}else if(exist[locked[i]]!=key[i]){
printf("Failed\n");
return 0;
}
}
if(mapn!=26){
printf("Failed\n");
return 0;
}
for(int i=0;i<som;i++){
printf("%c",exist[message[i]]);
}
fclose(stdin);
fclose(stdout);
return 0;
}