欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

字符串hash模板

程序员文章站 2022-03-08 16:44:16
...

注意数组的大小!

代码如下:

#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define N 1505
#define seed 1313131
using namespace std;
char str[N];
ull has[10005];
int main()
{
	int n;
	scanf("%d",&n);
	for(int i = 1;i <= n;i++)
	{
		scanf("%s",str);
		int len=strlen(str);
		for(int j = 0;j < len;j++)
		{
			has[i]=has[i]*seed+str[j];
		}
	}
	sort(has+1,has+1+n);
	int ans=0;
	for(int i = 1;i < n;i++)
	{
		if(has[i]!=has[i+1])
		{
			ans++;
		}
	}
	printf("%d\n",ans+1);
	return 0 ;
}

 

相关标签: hash