USACO 1.2 Name That Number

[成绩]



[报告]
    题目没看全,所以没能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;
}
posted @ 2009-12-29 19:54  为美好世界献上珂学  阅读(91)  评论(0)    收藏  举报