Pagini recente » Cod sursa (job #2052822) | Cod sursa (job #1696900) | Cod sursa (job #227854) | Cod sursa (job #1452818) | Cod sursa (job #128691)
Cod sursa(job #128691)
#include <stdio.h>
#include <string.h>
char cs[/*36000*/301][17];
int G,daaa=0;
int partitie(int st,int dr)
{
char m,i,j,p; char aux;
m=(dr+st)/2;
p=cs[G][m];
i=st-1;
j=dr+1;
while (1)
{
do {++i;} while (cs[G][i]<p);
do {--j;} while (cs[G][j]>p);
if (i<j)
{
aux=cs[G][i];
cs[G][i]=cs[G][j];
cs[G][j]=aux;
}
else return j;
}
}
void qsort(int st,int dr)
{
int p;
if (st<dr)
{
p=partitie(st,dr);
qsort(st,p);
qsort(p+1,dr);
}
}
int n;
int main()
{
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%d\n",&n);
int i;
for (i=1;i<=n;i++)
{
gets(cs[i]);
}
for (G=1;G<=n;G++)
{
qsort(0,strlen(cs[G]));
cs[G][0]=' ';
cs[G][strlen(cs[G])+1]='\0';
}
int j,adevar=0;
for (i=1;i<=n;i++)
{
adevar=0;
for (j=1;j<=n;j++)
{
if (strcmp(cs[i],cs[j])==0 && i!=j)
{
adevar=1;
break;
}
}
if (!adevar) daaa++;
}
printf("%d",daaa);
return 0;
}