Cod sursa(job #397433)

Utilizator dead_knightTitei Paul Adrian dead_knight Data 16 februarie 2010 22:10:50
Problema Restante Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
using namespace std;
#include<cstdio>
#include<fstream>
#include<algorithm>
#include<cstring>
#define MAX 36010

char c[MAX][20];
int n,ord[MAX];

void citire()
{
    ifstream fin("restante.in");
    fin>>n;
    char ch[20];
    fin.getline(ch,18);
    for(int i=1;i<=n;i++)
    {
        fin.getline(c[i],18);
        sort(c[i],c[i]+strlen(c[i]));
        ord[i]=i;
    }
}

int cmp(int i,int j)
{
    int x=strcmp(c[i],c[j]);
    if(x>0)
        return 0;
    else
        return 1;
}

int main()
{
    freopen("restante.out","w",stdout);
    citire();
    sort(ord+1,ord+n+1,cmp);
    int rez=0;
    int j=1;
    for(int i=1;i<n;i++)
    {
        j=i+1;
        while(strcmp(c[ord[i]],c[ord[j]])==0)
            j++;
        if(j-i==1)
            rez++;
        i=j-1;
    }
    printf("%d", rez);
    return 0;
}