字符串哈希
作者:
一条代码
,
2022-11-25 14:41:54
,
所有人可见
,
阅读 153
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
#define ull unsigned long long
ull a[10010];
int n;
int ans;
int BKDRHash(char *s){
ull d = 131,sum=0;
int len = strlen(s);
for(int i = 0 ; i < len ; i ++){
sum = sum * d + s[i];
}
return sum;
}
int main(){
char s[10010];
cin >> n;
for(int i = 0 ; i < n ; i ++) {
scanf("%s",s);
a[i] = BKDRHash(s);
}
sort(a,a+n);
for(int i = 0 ; i < n ; i ++){
if(a[i]!=a[i+1]) ans++;
}
cout << ans;
}