Pagini recente » Cod sursa (job #1504579) | Cod sursa (job #1699740) | Cod sursa (job #1902021) | Cod sursa (job #1702790) | Cod sursa (job #238071)
Cod sursa(job #238071)
#include<stdio.h>
#include<string.h>
int n,k,i,j,d;
char s[36020][17],*aux,aux2;
int divide2 (int p,int q)
{
int st,dr;
char x[36020];
st=p;
dr=q;
strcpy(x,s[p]);
while (st<dr)
{
while (st<dr && strcmp(s[dr],x)>=0)
--dr;
s[k][st]=s[k][dr];
while (st<dr && strcmp(s[dr],x)<=0)
++st;
strcpy(s[dr],s[st]);
strcpy(s[st],x);
}
return st;
}
int qsort2 (int p, int q)
{
int m;
m=divide2 (p,q);
if (m-1>p)
qsort2 (p,m-1);
if (m+1<q)
qsort2 (m+1,q);
}
int divide (int p,int q)
{
int st,dr;
char x;
st=p;
dr=q;
x=s[k][p];
while (st<dr)
{
while (st<dr && s[k][dr]>=x)
--dr;
s[k][st]=s[k][dr];
while (st<dr && s[k][st]<=x)
++st;
s[k][dr]=s[k][st];
s[k][st]=x;
}
return st;
}
int qsort (int p, int q)
{
int m;
m=divide (p,q);
if (m-1>p)
qsort (p,m-1);
if (m+1<q)
qsort (m+1,q);
}
int main ()
{
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%d\n",&n);
for(k=1;k<=n;++k)
{
scanf("%s",&s[k]);
qsort(0,strlen(s[k])-1);
}
qsort2(1,n);
if (strcmp (s[1],s[2]))
++d;
if (strcmp (s[n-1],s[n]))
++d;
for (i=2;i<n;++i)
if (strcmp (s[i-1],s[i]) && strcmp (s[i],s[i+1]))
++d;
printf("%d",d);
return 0;
}