记录编号 106908 评测结果 AAAAAAAAAAAAAAA
题目名称 [USACO 1.2] 命名那个数字 最终得分 100
用户昵称 GravatarEzio 是否通过 通过
代码语言 C++ 运行时间 0.084 s
提交时间 2014-06-20 20:58:59 内存使用 0.23 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
using namespace std;
char name1[14];
char name[5100][14];
const char code[26] = {'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'};
int main(){
    freopen("namenum.in","r",stdin);
    freopen("namenum.out","w",stdout);
    int mark=0,mark2=0,first=0;
    for(int i=0;i<5002;i++){
        gets(name[i]);
        if(name[i][0]<='9'&&name[i][0]>='0')
        {mark=i;swap(name[i],name1);break;}
    }///完成输入

    for(int i=0;i<13;i++)
    if(!(name1[i]<='9'&&name1[i]>='0'))
    {mark2=i;break;}///取得name长度
    for(int i=0;i<mark;i++){
        int yn=0;
        if(name[i][mark2]<='Z'&&name[i][mark2]>='A')continue;
        for(int j=0;j<mark2;j++){
            if(code[(int)name[i][j]-65]!=name1[j])
            {yn++;break;}
        }
        if(!yn){first++;cout<<name[i]<<endl;}
    }
    if(!first)cout<<"NONE";
    return 0;
}