【ybt】【字串 hash 課過 例1】字串雜湊
阿新 • • 發佈:2021-01-27
字串雜湊
題目連結:字串雜湊
題目描述
解題思路
從左到右,找到替換。
code
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int n,ans;
string hs[10010];
int hah(string c)
{
int s=0;
for(int i=0;i<=c.size();i++)
s+=c[i];
s%=10000;
while(hs[s]!=c&& hs[s].size()>0)
s=(s+1)%10000;
if(hs[s]==c)
return 0;
hs[s]=c;
return 1;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
string c;
cin>>c;
if(hah(c))
ans++;
}
cout<<ans<<endl;
}