Cod sursa(job #1553522)

Utilizator antanaAntonia Boca antana Data 19 decembrie 2015 23:11:50
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <cstdio>
#include<string.h>
#include<algorithm>
#define MAX 36000
#define baza 27
#define mod 100000007
using namespace std;
int v[MAX+1];
int s[17];
int main()
{
    freopen("restante.in", "r", stdin);
    freopen("restante.out", "w", stdout);
    int n, k=0, nr, t=0, i, j;
    char c;
    scanf("%d\n", &n);
    for(i=1;i<=n;i++)
    {
        k=0;
        c=getchar();
        while(c!='\n'){
                s[++k]=c-'a'+1;
                c=getchar();
        }
        sort(s+1, s+k+1);
        nr=0;
        for(j=1;j<=k;j++)
            nr=((nr*baza)%mod+s[j])%mod;
        v[i]=nr;
    }
    sort(v+1, v+n+1);
    for(i=1;i<=n;i++)
    {
        if(i!=1&&i!=n)
            if(v[i]!=v[i-1]&&v[i]!=v[i+1])
                t++;
        if(i==1)
            if(v[i]!=v[i+1])
                t++;
        if(i==n)
            if(v[n]!=v[n-1])
                t++;
    }
    printf("%d", t);
    return 0;
}