Pagini recente » Cod sursa (job #1096940) | Cod sursa (job #1361650) | Cod sursa (job #2985840) | Cod sursa (job #1129008) | Cod sursa (job #137048)
Cod sursa(job #137048)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int n;
char a[36000][16],cuvant[18];
int cuv,ok=0;
void qsortVect(char a[], int lo, int hi)
{
int h, l, p, t;
if (lo < hi) {
l = lo;
h = hi;
p = a[hi];
do {
while ((l < h) && (a[l] <= p))
l = l+1;
while ((h > l) && (a[h] >= p))
h = h-1;
if (l < h) {
t = a[l];
a[l] = a[h];
a[h] = t;
}
} while (l < h);
t = a[l];
a[l] = a[hi];
a[hi] = t;
qsortVect( a, lo, l-1 );
qsortVect( a, l+1, hi );
}
}
void qsortMat(int lo, int hi)
{
int h, l;
char p[17], t[17];
if (lo < hi) {
l = lo;
h = hi;
strcpy (p,a[hi]);
do {
while ((l < h) && (strcmp(a[l], p) <= 0))
l = l+1;
while ((h > l) && (strcmp(a[h], p)>= 0))
h = h-1;
if (l < h) {
strcpy(t,a[l]);
strcpy(a[l],a[h]);
strcpy(a[h],t);
}
} while (l < h);
strcpy(t,a[l]);
strcpy(a[l],a[hi]);
strcpy(a[hi],t);
qsortMat( lo, l-1 );
qsortMat( l+1, hi );
}
}
int main() {
int i,j;
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%d",&n);
for (i = 0; i < n; i++) {
scanf("%s", cuvant);
qsortVect(cuvant, 0 , strlen(cuvant)-1);
strcpy(a[i],cuvant);
}
qsortMat(0,n-1);
i=1;
j=0;
cuv = n;
for (i = 0; i < n ; i++)
if ( strcmp(a[i],a[i+1]) == 0 || strcmp(a[i],a[i-1]) == 0 )
cuv--;
printf("%d",cuv);
return 0;
}