记录编号 229450 评测结果 AAAAAAAAAAAAAAA
题目名称 [USACO 1.2] 命名那个数字 最终得分 100
用户昵称 Gravatarliu_runda 是否通过 通过
代码语言 C++ 运行时间 0.092 s
提交时间 2016-02-20 10:14:00 内存使用 0.37 MiB
显示代码纯文本
#include<string>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
string dict[5000];
long long num[5000];
int dial[300];
void getnum(int r){
	int len=dict[r].size();
	for(int i=0;i<len;++i)num[r]=num[r]*10+dial[dict[r][i]];
}
int main(){
	freopen("namenum.in","r",stdin);
	freopen("namenum.out","w",stdout);
	dial['A']=dial['B']=dial['C']=2;
	dial['D']=dial['E']=dial['F']=3;
	dial['G']=dial['H']=dial['I']=4;
	dial['J']=dial['K']=dial['L']=5;
	dial['M']=dial['N']=dial['O']=6;
	dial['P']=dial['R']=dial['S']=7;
	dial['T']=dial['U']=dial['V']=8;
	dial['W']=dial['X']=dial['Y']=9;
	int n=4617;
	for(int i=0;i<n;++i){
		cin>>dict[i];
	}
	long long k;
	cin>>k;
	sort(dict,dict+n);
	for(int i=0;i<n;++i)getnum(i);
	bool flag=true;
	for(int i=0;i<n;++i)
	if(num[i]==k){
		cout<<dict[i]<<endl;
		flag=false;
	}if(flag)cout<<"NONE"<<endl;
	fclose(stdin);fclose(stdout);
	return 0;
}