AcWing 1345. 序号命名
原题链接
中等
作者:
brivia
,
2021-12-16 20:50:19
,
所有人可见
,
阅读 204
看完第一页的题解,自认为是目前最优雅的写法了。
#include<bits/stdc++.h>
using namespace std;
string str = "ABCDEFGHIJKLMNOPRSTUVWXY";
char tran(char ch)
{
int id = str.find(ch);
return (char) id / 3 + '2';
}
string name2num(string name)
{
string ans;
for(auto ch: name)
ans += tran(ch);
return ans;
}
int main(void)
{
string num, name;
int cnt = 0;
cin >> num;
while(cin >> name)
if(num == name2num(name))
{
cout << name << endl;
cnt ++;
}
if(!cnt) cout << "NONE" << endl;
return 0;
}