比赛 普及组2016模拟练习4 评测结果 AAAAATTTTT
题目名称 查字典 最终得分 50
用户昵称 FTRailfan 运行时间 5.320 s
代码语言 C++ 内存使用 0.40 MiB
提交时间 2016-11-17 19:52:03
显示代码纯文本
#include<fstream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
ifstream fin("scanword.in");
ofstream fout("scanword.out");
int a[15],pagea[10005],pageb[10005],n,hasha[26][100],m;
int hash(char x[105])
{
    int has=131;
    int hashx=0;
    for(int i=1;i<=strlen(x);i++)
       hashx=(hashx*has)+x[i];
    return hashx;
}

int main(){
    int i,j;
    char x[105];
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        pagea[i]=hash(x); 
        fin>>pageb[i];
    }
   fin>>m;
    for(i=1;i<=m;i++)
    {
         fin>>x;
         for(j=1;j<=n;j++)
          if(pagea[j]==hash(x))
           fout<<pageb[j]<<endl;
    }
    fin.close();
    fout.close();
    return 0;
}