CF831B Keyboard Layouts
Posted robin20050901
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF831B Keyboard Layouts相关的知识,希望对你有一定的参考价值。
题目大意:给你26个字母的映射(均为小写),再给你一串长度不大于1000的字符串,要你输出它的映射结果。 (其他符号如数字不变)
因为是映射,同时字符串长度才1000,直接用map进行求解。
将原字符串的字符映射到map里。
注意大写还是大写,数字还是数字。
代码:
//This is by Robinzh
#include<bits/stdc++.h>
using namespace std;
string s;
string s1,s2;
map<char,char>m;//定义map
int main()
{
cin>>s1>>s2;
for(int i=0;i<26;i++)m[s1[i]]=s2[i];//将字符映射
for(char c=‘A‘;c<=‘Z‘;c++)m[c]=m[c-‘A‘+‘a‘]-‘a‘+‘A‘;//处理大写字符
for(char c=‘0‘;c<=‘9‘;c++)m[c]=c;//处理数字
cin>>s;
int l=s.length();
for(int i=0;i<l;i++)cout<<m[s[i]];//输出
cout<<endl;
return 0;
}
题目难度不高,主要考察STL。
以上是关于CF831B Keyboard Layouts的主要内容,如果未能解决你的问题,请参考以下文章
Python 模块:keyboard.read 执行命令两次