Cod sursa(job #1298932)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 23 decembrie 2014 12:54:01
Problema Restante Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;

ifstream fin("restante.in");
ofstream fout("restante.out");
char s[36002][18],l[36002],v[36002];
int n,i,j,nr,nrcuv;
int cmp(int x,int y){
    int i=0;
    while(s[x][i]==s[y][i])
        i++;
    return s[x][i]<s[y][i];
}
int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>s[i];
        l[i]=strlen(s[i]);
        sort(s[i],s[i]+l[i]);
        v[i]=i;
    }
    sort(v+1,v+n+1,cmp);
    nr=1;
    for(i=2;i<=n;i++){
        while(strcmp(s[v[i]],s[v[i-1]])==0 && i<=n)
            nr++,i++;
        if(nr>1)
            nrcuv+=nr;
        nr=1;
    }
    fout<<n-nrcuv;
    fin.close();fout.close();
    return 0;
}