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的主要内容,如果未能解决你的问题,请参考以下文章

CF1303C Perfect Keyboard

如何避免类型转换警告?

Python 模块:keyboard.read 执行命令两次

Pat1084:Broken Keyboard

键盘驱动失效代码32被禁用(HID Keyboard DevicePS/2标准键盘)

iqkeyboardmanager 支持webview吗