玄关哈希模板0分求调!!!
查看原帖
玄关哈希模板0分求调!!!
1399216
_Gloaming_楼主2024/11/28 21:54
#include<bits/stdc++.h>
using namespace std;
#define ull unsigned long long
const int P=133333331,mod=3872147897ll,prime=20080817;
int n,cnt=0;
char a[10010];
ull s[10020];
ull hashd(char *a)
{
    ull ans=0;
    int len=strlen(a);
    for(int i=0;i<len;i++)
    {
        ans=(ans*P+(ull)s[i]-'a'+1)%mod+prime;
    }
    return ans;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        scanf("%s",a);
        s[i]=hashd(a);
    }
    sort(s+1,s+n+1);
    for(int i=2;i<=n;i++)
    {
        if(s[i]^s[i-1])
            cnt++;
    }
    cout<<cnt;
    return 0;
}
2024/11/28 21:54
加载中...