混乱的LGH(字符串)

Link:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1004&cid=25995


混乱的LGH

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 23   Accepted Submission(s) : 12

Font: Times New Roman | Verdana | Georgia

Font Size:  

Problem Description

  有一天,SCNUACM 的LGH 脑袋被门夹到了,结果脑袋那个了。。。。。。。从此写出来的句子没有一个人看得懂,从此你们懂的。。。此时大师出现了,大师通过研究发现LGH 应该是脑袋里的字符映射出错了,例如a 被当成c 用,d 当成e 用等等。现在大师通过统计,得出整个映射表,由于大师太忙了,现在需要你来帮忙翻译LGH 写的句子。

Input

  第一行有一个正整数T(T ≤ 1000),代表数据组数。
  接下来T 组数据,每组数据第一行有26 个小写英文字母,表示LGH 把正常顺序下的字母当成了对应位置下的字母来使用。第二行是GH 写的一条句子,只包含小写字母和空格(包括空格在内的所有字符总长度不超过100)。

Output

  对于每一组数据,输出句子对应的真正意思。

Sample Input

3
zyxwvutsrqponmlkjihgfedcba
r zn ots
apwtuvqscrjmlizhnfxkybgedo
amm ksciqx ci ksucf puciq
apwtuvqscrjmlizhnfxkybgedo
afu qzzt vzf xzluksciq

Sample Output

i am lgh
all things in their being
are good for something

Author

lgh





#include<iostream>
#include<istream>
#include<ostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<cstdio>
#include<map>
using namespace std;
map<char,char>m;
char mt[27],ss[111];
int main()
{ 
    int t,len,i;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%s",&mt);
        getchar();
        for(i=0;i<26;i++)
        {
            m[mt[i]]='a'+i;
        }
        gets(ss);
        len=strlen(ss);
        for(i=0;i<len;i++)
        {
            if(ss[i]>='a'&&ss[i]<='z')
            ss[i]=m[ss[i]];
        }
        puts(ss);
    }
    return 0;
}



你可能感兴趣的:(算法,ACM)