Pagini recente » Cod sursa (job #2305363) | Cod sursa (job #1705823) | Cod sursa (job #479358) | Cod sursa (job #530700) | Cod sursa (job #2397102)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("restante.in");
ofstream fout("restante.out");
int v[36004][28],n,v1[36004],k,s;
char c[21];
bool comp(int x[],int y[])
{
for(int i=0;i<=26;i++)
if(x[i]!=y[i])
return false;
return true;
}
int cmp(int i,int j){
int t;
for(t=0;t<26;t++)
if(v[i][t]!=v[j][t])
break;
if(t==26)return i<j;
return v[i][t]<v[j][t];
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>c;
for(int j=0;c[j]!=0;j++)
{
v[i][c[j]-'a']++;
}
v1[i]=i;
}
sort(v1+1,v1+n+1,cmp);
for(int i=1;i<=n;i++)
{
if(comp(v[v1[i]],v[v1[i+1]])==true)
k=1;
else
{
if(k==0)
s++;
k=0;
}
}
fout<<s;
return 0;
}