题解 P3370 【【模板】字符串哈希】
看到这么多hash,发一个用C++string暴力的题解
对于每一种字符串判断有多少个字符串与之相同,累加答案即可
用flag标记每个字符串是否在它之前已经有字符串与之相同,若相同就跳过
上代码
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<queue>
using namespace std;
string s[10010];
long long ans;
bool flag[10010];
int main()
{
//freopen("1.in","r",stdin);
// freopen("1.out","w",stdout);
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
cin>>s[i];
for(int i=1;i<=n;i++)
{
if(flag[i]==1)
{
ans++;
continue;
}
for(int j=i+1;j<=n;j++)
if(s[i]==s[j])
{
flag[j]=1;
flag[i]=1;
}
}
printf("%lld",n-ans);
}