Pagini recente » Cod sursa (job #1837240) | Cod sursa (job #2273419) | Cod sursa (job #2539731) | Cod sursa (job #2628318) | Cod sursa (job #611934)
Cod sursa(job #611934)
#include<stdio.h>
#include<fstream>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
char T[100][17];
char R[100][17];
void mergesort(int a, int b) {
if(a==b) return;
int m = (a+b)/2;
mergesort(a,m);
mergesort(m+1,b);
int i=a,j=m+1,p=a;
while(i<=m && j<=b && p<=b) {
if(strcmp(T[i],T[j])<=0) {
strcpy(R[p],T[i]);
i++;
p++;
}
else {
strcpy(R[p],T[j]);
j++;
p++;
}
}
while(i<=m && p<=b) {
strcpy(R[p],T[i]);
i++;
p++;
}
while(j<=b && p<=b) {
strcpy(R[p],T[i]);
j++;
p++;
}
for(i=a;i<=b;i++)
strcpy(T[i],R[i]);
}
int main() {
int n,i;
int c;
freopen("restante.in","r",stdin);
//freopen("restante.out","w",stdout);
scanf("%i",&n);
for(i=1;i<=n;i++) {
scanf("%s",T[i]);
sort(T[i],T[i]+strlen(T[i]));
}
mergesort(1,n);
if(n>1 && strcmp(T[1],T[2])!=0)
c++;
for(i=2;i<n;i++) {
if(strcmp(T[i-1],T[i])!=0 && strcmp(T[i],T[i+1])!=0)
c++;
}
if(strcmp(T[n-1],T[n])!=0)
c++;
printf("%i",c);
return 0;
}