Pagini recente » Diferente pentru tree-decompositions intre reviziile 38 si 39 | Cod sursa (job #260289) | Cod sursa (job #2217691) | Cod sursa (job #2788921) | Cod sursa (job #1312039)
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream fin("restante.in");
ofstream fout("restante.out");
int n,i,j,v[36005],x,poz1,poz2;
char a[36005][20];
int cmp(int poz1, int poz2){
return strcmp(a[poz1],a[poz2])<0;
}
int main(){
fin>>n;
for(i=1;i<=n;i++){
fin>>a[i];
sort(a[i],strlen(a[i])+a[i]);
v[i]=i;
}
sort(v+1,v+n+1,cmp);
for(i=1;i<=n;i++){
if(strcmp(a[v[i]],a[v[i+1]])!=0 && strcmp(a[v[i]],a[v[i-1]])!=0){
x++;
}
}
fout<<x<<"\n";
return 0;
}