洛谷 1071 潜伏者——模拟水题

题目:https://www.luogu.org/problemnew/show/P1071

模拟水题。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=30,M=105;
int dy[N],n;
bool flag,vis[N];
char a[M],b[M];
int main()
{
  scanf("%s",a+1); n=strlen(a+1);
  scanf("%s",b+1);
  for(int i=1;i<=n;i++)
    {
      int u=a[i]-'A'+1,v=b[i]-'A'+1;
      if(dy[u]&&dy[u]!=v){flag=1;break;}
      else if(!dy[u])dy[u]=v;
    }
  for(int i=1;i<=26;i++)vis[dy[i]]=1;
  for(int i=1;i<=26;i++)if(!vis[i]){flag=1;break;}
  if(flag){puts("Failed");return 0;}
  scanf("%s",a+1); n=strlen(a+1);
  for(int i=1;i<=n;i++)
      printf("%c",dy[a[i]-'A'+1]+'A'-1);
  printf("\n");
  return 0;
}

 

posted on 2018-10-09 19:17  Narh  阅读(170)  评论(0编辑  收藏  举报

导航