企业网站开发需求文档,设计教育机构,造价员证在哪个网站上查询,wordpress 虚拟空间POJ2503 这是一道水题#xff0c;用Map轻松AC。 不过#xff0c;可以拿来测一下字符串散列#xff0c; 毕竟#xff0c;很多情况下map无法解决的映射问题需要用到字符串散列。 自己生成一个质数#xff0c; 随便搞一下。 #includeiostream
#includecstdio…POJ2503 这是一道水题用Map轻松AC。 不过可以拿来测一下字符串散列 毕竟很多情况下map无法解决的映射问题需要用到字符串散列。 自己生成一个质数 随便搞一下。 #includeiostream
#includecstdio
#includecstdlib
#includecstring
#includestring.h
#includecmath
#includevector
#includealgorithm
using namespace std;
const int maxn1e6;
const int P999983;
unsigned int base[100];
int dic[maxn];
char eng[100010][11];
inline void init_hash(char* s,int h[])
{int lstrlen(s);h[0]0;for(int i1;il;i){h[i](h[i-1]*26s[i-1])%P;}base[0]0;for(int i1;il;i)base[i](base[i-1]*26)%P;
}inline unsigned int string_hash(char* s,int h[], int l, int r)//[l,r)左闭右开
{init_hash(s,h);return (h[r]-h[l]*base[r-1])%P;
}int ha[maxn];
int main()
{freopen(t.txt,r,stdin);//ios::sync_with_stdio(false);memset(dic,0,sizeof(dic));char lan[11];int ditlen1,tot0;eng[0][0]e;eng[0][1]h;eng[0][3]\0;while(true){char tgetchar();if(t\n)break;int len1;eng[ditlen][0]t;while(true){tgetchar();if(t ){eng[ditlen][len]\0;ditlen;break;}eng[ditlen][len]t;}int lent0;while(true){tgetchar();if(t\n){lan[lent]\0;break;}lan[lent]t;}int lengstrlen(lan);int hasstring_hash(lan,ha,0,leng);while(has0)hasP;dic[has]ditlen-1;}while(scanf(%s,lan)!EOF){int hasstring_hash(lan,ha,0,strlen(lan));while(has0)hasP;hasdic[has];for(int i0;;i){if(eng[has][i]\0)break;printf(%c,eng[has][i]);}printf(\n);} return 0;
}转载于:https://www.cnblogs.com/heisenberg-/p/6607608.html