Pagini recente » Cod sursa (job #1775441) | Cod sursa (job #11429) | Borderou de evaluare (job #1170414) | Cod sursa (job #1506561) | Cod sursa (job #125212)
Cod sursa(job #125212)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct cuv{
int v;
char s[20];
};
cuv x[36010];
int compara1(const void *a, const void *b)
{
struct cuv *ia = (struct cuv *)a;
struct cuv *ib = (struct cuv *)b;
return strcmp(ia->s, ib->s);
/* strcmp functions works exactly as expected from
comparison function */
}
int compara2(const void *a, const void *b)
{
const char *ia = (const char *)a;
const char *ib = (const char *)b;
return *ia - *ib;
}
int main(){
int n,i,s=0;;
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%d\n",&n);
for (i=0;i<n;++i){
gets(x[i].s);
x[i].v=strlen(x[i].s);
qsort(x[i].s,x[i].v,sizeof(x[i].s[0]),compara2);
}
qsort(x,n,sizeof(x[0]),compara1);
//for (i=0;i<n;++i)
// printf("%s\n",x[i].s);
if (strcmp(x[0].s,x[1].s)!=0)
++s;
if (strcmp(x[n-1].s,x[n-2].s)!=0)
++s;
for (i=1;i<n-1;++i)
if (strcmp(x[i-1].s,x[i].s)!=0 && strcmp(x[i+1].s,x[i].s)!=0)
++s;
printf("%d\n",s);
return 0;
}