Cod sursa(job #1486653)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 15 septembrie 2015 12:26:14
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,i,v[36001],j,k,l,x[28],o[36001];
char s[36001][17];
int C(char *a,char *b) { return strcmp(a,b)<0; }
int main() {
    freopen("restante.in","r",stdin),freopen("restante.out","w",stdout),scanf("%d",&n);
    for(i=0;i<n;i++) {
        scanf("%s",s[i]),v[i]=strlen(s[i]);
        for(j=0;j<28;j++)
            x[j]=0;
        for(j=0;j<v[i];j++)
            x[s[i][j]-'a']++;
        for(j=l=0;j<28&&l<v[i];j++)
        for(k=0;k<x[j];k++)
            s[i][l++]=j+'a';
    }
    sort(s,s+(n-1),C);
    for(i=1;i<n;i++)
    if(!strcmp(s[i],s[i-1]))
        o[i]=o[i-1]=1;
    for(i=l=0;i<n;i++)
    if(!o[i])
        l++;
    printf("%d",l);
}