用了一下桶的思想,把字符都转换成数字来进行比较
#include<bits/stdc++.h>
using namespace std;
long long b[1000000][29]={0},a[100002];
long long sum=1,n,last;
char c;
int main(){
cin>>n;
c=getchar();
for(int i=0;i<=n;i++){
while((c=getchar())!='\n')
b[i][c-'A']++;
}
for(int i=0;i<n;i++)
for(int j=0;j<=26;j++)
a[i]=a[i]*114514+b[i][j];
sort(a,a+n);
last=a[0];
for(int i=1;i<n;i++)
if(last!=a[i]){
sum++;
last=a[i];
}
cout<<sum;
return 0;
}