[USACO][Section 1.2][模拟] Name That Number

题目大意:

按照给定规则,每个姓名都对应一个编号。要求在已知编号和所有姓名的条件下,输出编号所对应的姓名。

思路:

用stl模拟即可。

代码:

/*
ID: lujunda1
LANG: C++
PROG: namenum
*/
#include
#include
#include
#include
#include
#include
#include
using namespace std;
//建立数字对应姓名的map型变量 
//考虑到一个数字可能对应多个名字,所以要用到动态数组。 
map< string , vector > num_name;
//将每个字母对应到数字上。注意‘Q’与‘Z’没有出现在题干中,相应位置补上任意数字即可。 
int char_num[26]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9};
//将“dict.txt”文件中的姓名与其相应的编号在num_name型变量上建立对应关系。 
void get_num_name()
{
    freopen("dict.txt","r",stdin);
    char name[20],num[20];
    while(~scanf("%s",&name))
    {
        int len=strlen(name);
        for(int i=0;i	

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注