Pagini recente » Cod sursa (job #2776982) | Cod sursa (job #2478822) | Cod sursa (job #2951086) | Cod sursa (job #56027) | Cod sursa (job #250131)
Cod sursa(job #250131)
#include<stdio.h>
#include<string.h>
#include<time.h>
#define fin "restante.in"
#define fout "restante.out"
#define L 36001
#define l 26
char v[L][l], aux[l], enter[l];
int n, i, j, count, sw, x, vf[L];
int poz(int ls, int ld);
void qsort(int ls,int ld)
{
int p;
if( ls < ld)
{
p = poz(ls,ld);
qsort(ls,p-1);
qsort(p+1,ld);
}
}
int poz(int ls,int ld)
{
int i,j,ii,jj,aux;
char aux1[l];
i=ls;
j=ld;
ii=0;
jj=-1;
while(i<j)
{
if( strcmp(v[i],v[j]) > 0 )
{
strcpy(aux1,v[i]);
strcpy(v[i],v[j]);
strcpy(v[j],aux1);
aux=-ii;
ii=-jj;
jj=aux;
}
i+=ii;
j+=jj;
}
return i;
}
void sort_cuv(char s[])
{
char aux;
for(int i = 0 ; i<strlen(s) - 1; i++)
for(int j = i+1; j<strlen(s); j++)
if( s[i] > s[j])
{
aux = s[i];
s[i] = s[j];
s[j] = aux;
}
}
int main(void)
{
freopen(fin, "r", stdin);
freopen(fout, "w", stdout);
scanf("%d", &n);
gets(enter);
for( i=1; i<=n; i++)
{
gets(v[i]);
sort_cuv(v[i]);
}
qsort(1, n);
x = 1;
strcpy(v[0], v[1]);
for( i = 0; i < n; i++)
{
if(!strcmp(v[i], v[i+1]))
vf[x]++;
else
vf[++x]++;
}
for ( i = 1 ; i <= n ; i++)
if(vf[i] == 1)
count++;
printf("%d\n", count);
fcloseall();
return 0;
}