理论上更不会错才对啊qaq
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
unsigned long long a[10010],b[10010];
char str[2010];
int main()
{
int n,len,sum=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%s",str+1);
len=strlen(str+1);
for(int j=1;j<=len;j++){
a[i]=a[i]*131+(unsigned long long)str[j];
b[i]=b[i]*1331+(unsigned long long)str[j];
}
}
sort(a+1,a+n+1);
sort(b+1,b+n+1);
for(int i=1;i<=n;i++)
if(a[i]!=a[i-1]||b[i]!=b[i-1]) sum++;
printf("%d",sum);
return 0;
}