[成绩]
题目没看全,所以没能1次AC……
这道题目其实就是扫描文件,把所有的可能的东西给输出,就可以拉!
[程序]
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
using namespace std;
ifstream fin ("namenum.in");
ifstream in ("dict.txt");
ofstream fout ("namenum.out");
long n;
long s[15];
char a[128];
string b;
inline void init()
{
memset(a,0,sizeof(a));
a['A']=a['B']=a['C']='2';
a['D']=a['E']=a['F']='3';
a['G']=a['H']=a['I']='4';
a['J']=a['K']=a['L']='5';
a['M']=a['N']=a['O']='6';
a['P']=a['R']=a['S']='7';
a['T']=a['U']=a['V']='8';
a['W']=a['X']=a['Y']='9';
fin >> b;
n=b.length();
}
inline void calc()
{
bool bf=true;
string ls;
while (in >> ls)
if (ls.length()==n)
{
try
{
for (long i=0;i<n;i++)
if (a[ls[i]]!=b[i])
throw true;
}catch(bool flag)
{
continue;
}
bf=false;
fout << ls << endl;
}
if (bf) fout << "NONE" << endl;
}
int main()
{
init();
calc();
return 0;
}
[报告]
题目没看全,所以没能1次AC……
这道题目其实就是扫描文件,把所有的可能的东西给输出,就可以拉!
[程序]
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
using namespace std;
ifstream fin ("namenum.in");
ifstream in ("dict.txt");
ofstream fout ("namenum.out");
long n;
long s[15];
char a[128];
string b;
inline void init()
{
memset(a,0,sizeof(a));
a['A']=a['B']=a['C']='2';
a['D']=a['E']=a['F']='3';
a['G']=a['H']=a['I']='4';
a['J']=a['K']=a['L']='5';
a['M']=a['N']=a['O']='6';
a['P']=a['R']=a['S']='7';
a['T']=a['U']=a['V']='8';
a['W']=a['X']=a['Y']='9';
fin >> b;
n=b.length();
}
inline void calc()
{
bool bf=true;
string ls;
while (in >> ls)
if (ls.length()==n)
{
try
{
for (long i=0;i<n;i++)
if (a[ls[i]]!=b[i])
throw true;
}catch(bool flag)
{
continue;
}
bf=false;
fout << ls << endl;
}
if (bf) fout << "NONE" << endl;
}
int main()
{
init();
calc();
return 0;
}