poj2503(字符串hash)

来源:互联网 发布:淘宝店主txt 编辑:程序博客网 时间:2024/05/14 17:05

这是用hash不是比较相不相同,这是用来存储,

取模质数!!!9191891!!!

#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<map>using namespace std;const int mod=9191891;int n,m;char wd[100005][12],s[50],tt;int hs[10000050];int geths(char *s){int len=strlen(s),ans=0;for (int i=0;i<len;i++) ans=(ans*29+s[i]-'a')%mod;return ans;}int main(){while ((wd[++n][0]=getchar())!='\n'){scanf("%s%s",wd[n]+1,s);hs[geths(s)]=n;tt=getchar();}while (scanf("%s",s)!=EOF){int t=geths(s);if (hs[t]) printf("%s\n",wd[hs[t]]);else printf("eh\n");}return 0;}


0 0
原创粉丝点击