题目链接:http://codeforces.com/contest/831/problem/B
题意:给你两个长度为26的字符串,表示两种a-z的映射(也就是键盘改了键),现在给出你用第一种键盘打出的字符,让你求用第二种键盘打出的结果
解析:直接做就可以了,数字直接输出,字符在第一个找到对应的,然后输出在第二个字符串的位置
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1005;
char a[maxn];
char b[maxn];
char c[maxn];
int main(void)
{
scanf("%s%s%s",a,b,c);
int l1 = strlen(c);
for(int i=0;i<l1;i++)
{
int flag = 0;
if(c[i]>='A'&&c[i]<='Z')
{
flag = 1;
c[i] = c[i]-'A'+'a';
}
if(c[i]>='0'&&c[i]<='9')
printf("%c",c[i]);
else
{
for(int j=0;j<26;j++)
{
if(c[i]==a[j])
{
if(flag)
printf("%c",b[j]+'A'-'a');
else
printf("%c",b[j]);
}
}
}
}
puts("");
return 0;
}