[NOIp2009] luogu P1071 潜伏者

翘课间操和体育课来水博客。

题目描述

CCF的题面贼长,但貌似除了背景以外,每句话都删不掉。不写啦,反正也是Ctrl C的。

Solution

显然这是一道码农题。

#include<cstdio>
#include<cstdlib>
#include<cstring>

const int MAXN=110;

char str1[MAXN],str2[MAXN],str[MAXN];
int l1,l;
int f[140],g[140];

int main(){
	scanf("%s%s%s",str1+1,str2+1,str+1);
	l1=strlen(str1+1);l=strlen(str+1);
	memset(f,0,sizeof(f));
	memset(g,0,sizeof(g));
	for(int i=1;i<=l1;++i){
		if((f[str1[i]]&&(f[str1[i]]!=str2[i]))||(g[str2[i]]&&(g[str2[i]]!=str1[i]))){
			puts("Failed");
			exit(0);
		}
		f[str1[i]]=str2[i];
		g[str2[i]]=str1[i];
	}
	for(int i=0;i<26;++i)
		if(!f['A'+i]){
			puts("Failed");
			exit(0);
		}
	for(int i=1;i<=l;++i)
		if(!f[str[i]]){
			puts("Failed");
			exit(0);
		}
	for(int i=1;i<=l;++i)
		printf("%c",f[str[i]]);
}
posted @ 2019-09-06 10:48  TeacherDai  阅读(128)  评论(0)    收藏  举报