輸入多行小寫字母字符串 (長度 ≤ 10000),按規則替換輸出:
b→空格, q→逗號, t→感嘆號, m↔l, i↔e, c↔a。
實際為將 "michael" 映射為 "leahcim" (逆序) 並擴展標點。
| 原字符 | 目標 |
|---|---|
| b | ' ' |
| q | ',' |
| t | '!' |
| m | l |
| l | m |
| i | e |
| e | i |
| c | a |
| a | c |
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
unordered_map mp = {
{'b',' '}, {'q',','}, {'t','!'},
{'m','l'}, {'l','m'},
{'i','e'}, {'e','i'},
{'c','a'}, {'a','c'}
};
string s;
while (cin >> s) {
for (char &ch : s) {
auto it = mp.find(ch);
if (it != mp.end()) ch = it->second;
}
cout << s << '\n';
}
return 0;
}
輸入:pmicsibforgevibliqbscrct ebmovibyout
輸出:please forgive me, sara! i love you!