大意略。
从文件读出数据不太会额。
/*
ID:g0feng1
LANG:C++
TASK:namenum
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <vector>
#include <algorithm>
#include <stack>
using namespace std;
ofstream fout("namenum.out");
ifstream fin("namenum.in");
fstream dic("dict.txt");
int ans[] = {2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 0, 7, 7, 8, 8, 8, 9, 9, 9, 0};
vector<string> save;
int n;
string in, out;
void read_case()
{
fin>>in;
n = in.size();
while(dic>>out)
{
if(out.size() == n)
save.push_back(out);
}
}
void solve()
{
read_case();
int flag1 = 0, flag2 = 0;
for(int i = 0; i < save.size(); i++)
{
flag1 = 0;
for(int j = 0; j < n; j++)
{
if(ans[save[i][j]-'A'] != in[j]-'0') {flag1 = 1; break;}
}
if(!flag1)
{
flag2 = 1;
fout<<save[i]<<endl;
}
}
if(!flag2) fout<<"NONE"<<endl;
}
int main()
{
solve();
return 0;
}