Cod sursa(job #1687717)

Utilizator MihneaGhiraMihnea MihneaGhira Data 13 aprilie 2016 00:58:09
Problema Restante Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
#include<cstring>
#include<algorithm>
using namespace std;
ifstream fin("restante.in");
ofstream fout("restante.out");
int N,n,nr,k,s,i,j;
char v[20];
pair <int,int> p[36010];
int main(){
    fin>>N;
    for(i=1;i<=N;i++){
        fin>>v;
        n=strlen(v);
        sort(v,v+n);
        s=0;
        k=1;
        for(j=0;j<n;j++){
            if(j==0)
                k=1;
            else
                k*=26;
            s+=v[j]*k;
        }
        p[i].first=s%100009;
        p[i].second=s%666013;
    }
    sort(p+1,p+N+1);
    for(i=2;i<=N;i++){
        if(p[i].first!=p[i-1].first)
            nr++;
        else{
            if(p[i].second!=p[i-1].second)
                nr++;
        }
    }
    fout<<nr;
    return 0;
}