Pagini recente » Cod sursa (job #2746046) | Cod sursa (job #307834) | Cod sursa (job #1889769) | Cod sursa (job #1565459) | Cod sursa (job #124298)
Cod sursa(job #124298)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NMax 36005
typedef char cuvant[17];
int N, cnt;
cuvant C[NMax];
int cmp(const void *a, const void *b)
{ return *(char *)a - *(char *)b; }
int cmp_word(const void *a, const void *b)
{
char *A = (char *)a, *B = (char *)b;
int i, l1 = strlen(A), l2 = strlen(B);
for (i = 0; i < l1 && i < l2; i++)
if (*A+i != *B+i)
return (*A+i) - (*B+i);
return l1-l2;
}
int main(void)
{
int i;
freopen("restante.in", "r", stdin);
freopen("restante.out", "w", stdout);
scanf("%d", &N);
for (i = 0; i < N; i++)
scanf("%s", C[i]);
for (i = 0; i < N; i++)
qsort(C[i], strlen(C[i]), sizeof(char), cmp);
qsort(C, N, sizeof(cuvant), cmp_word);
for (i = 0; i < N; i++)
{
if (i && cmp_word((void *)C[i], (void *)C[i-1]) == 0) continue;
if (i < N-1 && cmp_word((void *)C[i], (void *)C[i+1]) == 0) continue;
cnt++;
}
printf("%d\n", cnt);
return 0;
}