代码长这样:
#include<bits/stdc++.h>
using namespace std;
int P = 131;
int n, a[10005];
int p[1510], h[1510];
string s;
int main()
{
cin >> n;
p[0] = 1;
h[0] = 0;
for(int i = 1; i <= n; i++)
{
memset(h, 0, sizeof(h));
cin >> s;
int len = s.size();
for(int cur = 0; cur < len; cur++)
{
p[cur + 1] = p[cur]*P;
h[cur + 1] = h[cur]*P + s[i];
}
a[i] = h[len];
}
int ans = 0;
for(int i = 1; i <= n; i++)
{
bool f = true;
for(int j = 1; j < i; j++)
{
if(a[i] == a[j])
f = false;
}
if(f)
ans++;
}
cout << ans << endl;
return 0;
}
得9pts。。。