Pagini recente » Cod sursa (job #1112269) | Cod sursa (job #2645037) | Cod sursa (job #213146) | Cod sursa (job #2987463) | Cod sursa (job #167733)
Cod sursa(job #167733)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define NMAX 36000
long n,i,ordine[NMAX+1],j,contor;
char mat[NMAX+1][18];
int compare1(const void *a, const void *b)
{ return int( *(char*)a - *(char*)b ); }
int compare2(const void *a, const void *b)
{
long t1 = *(long*)a, t2 = *(long*)b;
return strcmp( mat[ t1 ], mat[ t2 ] );
}
main()
{ freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%ld",&n); gets(mat[0]);
for(i=1; i<=n; i++)
{
gets(mat[i]); ordine[i]=i;
qsort(mat[i], strlen(mat[i]),
sizeof(char), compare1);
}
qsort(ordine, n, sizeof(long), compare2);
#define cmp strcmp( mat[ordine[j]] , mat[ordine[j+1]] )
for(i=1; i<=n; i++)
{ j=i;
while(cmp==0) j++;
if(j==i) contor++;
i=j;
}
#undef cmp
printf("%ld\n",contor); return 0; }