记录编号 229404 评测结果 AAAAAAAAAA
题目名称 字符串哈希 最终得分 100
用户昵称 Gravatar粘粘自喜 是否通过 通过
代码语言 C++ 运行时间 0.462 s
提交时间 2016-02-20 09:40:23 内存使用 0.28 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int seed;
int hash;
int main()
{
	freopen("stringhash.in","r",stdin);
	freopen("stringhash.out","w",stdout);
	string s;
	int N;
	int num;
	cin>>N;
	while(N--)
	{
		hash=0;
		cin>>num;
		if(num!=0)  cin>>s;
		cin>>seed;
		for(int i=0;i<num;i++)
			hash=(hash*seed+(int)s[i])&2147483647;
		if(num==0)  cout<<"0"<<endl;
		else cout<<hash<<endl;
	}
	return 0;
}