Pagini recente » Cod sursa (job #1128395) | Cod sursa (job #3226993) | Cod sursa (job #716833) | Cod sursa (job #2964834) | Cod sursa (job #240873)
Cod sursa(job #240873)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define dim 36005
int n;
char cuv[dim][20];
void quicksort(char *a, int lo, int hi)
{
int i=lo, j=hi, h;
char x=a[(lo+hi)/2];
do
{
while (a[i]<x) i++;
while (a[j]>x) j--;
if (i<=j)
{
h=a[i]; a[i]=a[j]; a[j]=h;
i++; j--;
}
} while (i<=j);
if (lo<j) quicksort(a, lo, j);
if (i<hi) quicksort(a, i, hi);
}
void quicksort2(char a[dim][20], int lo, int hi)
{
int i=lo, j=hi;
char x[20], h[20];
strcpy(x, a[(lo+hi)/2]);
do
{
while (strcmp(a[i], x)<0) i++;
while (strcmp(a[j], x)>0) j--;
if (i<=j)
{
strcpy(h, a[i]);
strcpy(a[i], a[j]);
strcpy(a[j], h);
i++; j--;
}
} while (i<=j);
if (lo<j) quicksort2(a, lo, j);
if (i<hi) quicksort2(a, i, hi);
}
int main()
{
int i, ct=0;
freopen("restante.in", "r", stdin);
freopen("restante.out", "w", stdout);
scanf("%d\n", &n);
for (i=1; i<=n; i++)
{
scanf("%s\n", cuv[i]);
quicksort(cuv[i], 0, strlen(cuv[i])-1);
}
quicksort2(cuv, 1, n);
for (i=1; i<=n; i++)
{
if (i==1)
{
if (strcmp(cuv[1], cuv[2])!=0) ct++;
}
else if (i==n)
{
if (strcmp(cuv[n], cuv[n-1])!=0) ct++;
}
else if (strcmp(cuv[i], cuv[i-1])!=0 && strcmp(cuv[i], cuv[i+1])!=0)
ct++;
}
printf("%d\n", ct);
return 0;
}