学习要点
- unordered_map的使用
题目链接
简单密码_牛客题霸_牛客网
题目描述
解法:哈希表
cpp
复制代码
#include <bits/stdc++.h>
#include <cctype>
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
string line;
getline(cin,line);
unordered_map<char,int> a_map;
unordered_map<char, char> A_map;
a_map['a'] = 2; a_map['b'] = 2; a_map['c'] = 2; a_map['d'] = 3; a_map['e'] = 3; a_map['f'] = 3;
a_map['g'] = 4; a_map['h'] = 4; a_map['i'] = 4; a_map['j'] = 5; a_map['k'] = 5; a_map['l'] = 5;
a_map['m'] = 6; a_map['n'] = 6; a_map['o'] = 6;
a_map['p'] = 7; a_map['q'] = 7; a_map['r'] = 7; a_map['s'] = 7;
a_map['t'] = 8; a_map['u'] = 8; a_map['v'] = 8;
a_map['w'] = 9; a_map['x'] = 9; a_map['y'] = 9; a_map['z'] = 9;
for(char ch = 'A';ch<'Z';ch++)
{
A_map[ch] = tolower(ch) +1;
}
A_map['Z'] = 'a';
for(auto &ch:line)
{
if(islower(ch))
{
cout << a_map[ch];
}
else if(isupper(ch))
{
cout << A_map[ch];
}
else
{
cout << ch;
}
}
}
// 64 位输出请用 printf("%lld")