Cod sursa(job #276846)

Utilizator runnaway90Oprescu Radu Constantin runnaway90 Data 11 martie 2009 12:54:00
Problema Restante Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

char a[37002][18];
int x, i, n, h[37002], nr;

int cmp(const void * a, const void * b){
        return (*(char *) a - *(char*) b);
}

int cmp2( const void * b, const void * c){
        return strcmp(a[*(int *) b], a[*(int *) c]);
}

int main (){
    freopen("restante.in","r",stdin);
    freopen("restante.out","w",stdout);
    scanf("%d\n", &n);

    for (i = 1; i <= n; i++){
        scanf("%s", a[i]);
        h[i] = i;
        x = strlen(a[i]);
        qsort(a[i], x, 1, cmp);
    }
    nr =0;
    qsort(h, n, sizeof(int), cmp2);
    for (i = 1; i <= n; i++)
        if (strcmp(a[h[i]], a[h[i-1]]) && strcmp(a[h[i]], a[h[i+1]]))
            nr++;

    printf("%d\n", nr);

    return 0;
}