Wa了最后三个点不知道怎么错了
求求dalao帮忙调一下
代码如下:
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
const int Base=2231;
const int Maxn=1e6+5;
ull p[1505];
void jiec(){
p[0]=1;
for(int i=1;i<=1505;i++){
p[i]=p[i-1]*Base;
}
}
ull n,m;
string st;
ull hashh[15050];
ull ans[15050];
ull anss=0;
int main(){
jiec();
cin>>n;
for(int j=0;j<n;j++){
cin>>st;
ull len=st.size();
for(int i=0;i<len;i++){
hashh[i+1]=(hashh[i]*p[i]+(ull)(st[i]+1))%Maxn;
}
ans[j]=hashh[len];
}
sort(ans,ans+n);
for(int i=0;i<n;i++){
if(ans[i]!=ans[i+1]){
anss++;
}
}
cout<<anss<<endl;
return 0;
}