CodeForces 831B-Keyboard Layouts

来源:互联网 发布:.co.jp 日本域名 编辑:程序博客网 时间:2024/05/29 06:59

题目大意:给出两种键盘中小写字母的对应关系,和在第一种键盘上的一串字符,问对应在第二种键盘上的结果是什么?大小写要对应,除字母外其他字符不变。 
解题思路:用map保存字符与字符映射关系,输出时判断一下是不是字符,是不是大小写。 
注意点: A:65,Z:90; a:97,z:122

#include<iostream>#include<cstring>#include<cstdio>#include<map>using namespace std;const int MAXN=1005;const int INF=0x3f3f3f3f;char s1[30],s2[30];char s3[MAXN];map<char,char> mp;int main(){    while(cin>>s1>>s2){        mp.clear();        for(int i=0;i<26;i++){            mp[s1[i]]=s2[i];        }        cin>>s3;        int len=strlen(s3);        for(int i=0;i<len;i++) {            if(s3[i]>=65&&s3[i]<=90)                cout<<(char)(mp[(char)(s3[i]+32)]-32);            else if(s3[i]>=97&&s3[i]<=122)                cout<<mp[s3[i]];            else                cout<<s3[i];        }        cout<<endl;    }    return 0;}
原创粉丝点击