P3370
【模板】字符串哈希
竟然没写,干了
#include<bits/stdc++.h>
using namespace std;
long long base=131,a[10010],mod=212370440130137957ll;
char s[10010];
int n,ans=1,prime=233317;
long long hashe(char s[]) {
int len=strlen(s);
long long ans=0;
for(int i=0;i<len;i++)ans=(ans*base+(long long)s[i])%mod+prime;
return ans;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++) {
cin>>s;
a[i]=hashe(s);
}
sort(a+1,a+n+1);
for(int i=1;i<n;i++) {
if(a[i]!=a[i+1])ans++;
}
cout<<ans;
}

浙公网安备 33010602011771号