Hash 72pts
查看原帖
Hash 72pts
1105650
YNH_QAQ楼主2024/8/5 09:47
#include<bits/stdc++.h>
using namespace std;
bool vis1[1000005],vis2[1000005];
int n,ans;
unsigned long long Hash(string s,int mod,int base){
	unsigned long long hs=0;
	for(int i=0;i<s.size();i++)
		hs=(1ull*hs*base+s[i])%mod;
	return hs%mod;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		string s;
		cin>>s;
		int v1=Hash(s,999983,26);
		int v2=Hash(s,999983,53);
		if(vis1[v1]=0||vis2[v2]==0){
			ans++;
			vis1[v1]=vis2[v2]=true;
		}
	}
	cout<<ans;
}
2024/8/5 09:47
加载中...