码迷,mamicode.com
首页 > 其他好文 > 详细

CF831B 【Keyboard Layouts】

时间:2019-04-07 14:24:04      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:include   i++   map   题目   default   其他   turn   main   字符串长度   

题目大意:给你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】

标签:include   i++   map   题目   default   其他   turn   main   字符串长度   

原文地址:https://www.cnblogs.com/Robin20050901/p/10665204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!