Cod sursa(job #1349616)

Utilizator matei_cChristescu Matei matei_c Data 20 februarie 2015 12:44:07
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<cstdio>
#include<fstream>
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<cstring>
#include<set>
#include<map>
#include<cmath>
using namespace std ;

#define maxn 36005
#define maxlen 20

int N, sol ;

char a[maxn][maxlen] ;
int ind[maxn] ;

bool cmp(int i, int j)
{
    return strcmp(a[i], a[j]) < 0 ;
}

int main()
{
	std::ios_base::sync_with_stdio(false) ;

	ifstream fin("restante.in");
	ofstream fout("restante.out");

    fin >> N ;

    for(int i = 1; i <= N; ++i)
    {
        fin >> a[i] ;

        sort( a[i], a[i] + strlen( a[i] ) ) ;

        ind[i] = i ;
    }

    sort( ind + 1, ind + N + 1, cmp ) ;

    for(int i = 1; i <= N; ++i)
        if( strcmp( a[ ind[i] ], a[ ind[i + 1] ] ) != 0 && strcmp( a[ ind[i] ], a[ ind[i - 1] ] ) != 0 )
            ++sol ;

    fout << sol ;

	return 0 ;
}