72分,蒟蒻求助
查看原帖
72分,蒟蒻求助
752992
IridoYume楼主2023/9/9 23:07

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;
} 
2023/9/9 23:07
加载中...