中文版题目:https://www.luogu.org/problemnew/show/P3864
虽然翻译得不太好,但是将就着看吧。
解题思路
这道题有点坑,有两种解题方式(一种简单,一种难):
第一种(简单):把名字化为数字。
第二种(困难):把数字化为名字。
我最开始尝试的是第二种,写了半个小时想不出来,就果断放弃用第一种做。然后就做出来了
代码
/*
ID: zhangka15
LANG: C++
TASK: namenum
*/
#include<iostream>
#include <cstdio>
using namespace std;
int main(){
// freopen("namenum.in","r",stdin);
// freopen("namenum.out","w",stdout);
string d;
cin>>d;
char a[50]={'2','2','2','3','3','3','4','4','4','5','5','5','6','6','6','7','7','7','7','8','8','8'};
// freopen("dict.txt","r",stdin);
string name;
bool yn;
bool have=false;
while(cin>>name){
yn=false;
if(name.length()!=d.length()){
continue;
}
for(int i=0;i<d.length();i++){
if(a[name[i]-'A']!=d[i]){
yn=true;
break;
}
}
if(yn==false){
cout<<name<<endl;
have=true;
}
}
if(have==false){
cout<<"NONE"<<endl;
}
return 0;
}