牛客:HJ21 简单密码[华为机考][哈希]
学习要点
- unordered_map的使用
题目链接
简单密码_牛客题霸_牛客网
题目描述
解法:哈希表
#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")