Cod sursa(job #127770)

Utilizator TabaraTabara Mihai Tabara Data 24 ianuarie 2008 23:28:12
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
using namespace std;

#define in "restante.in"
#define out "restante.out"

#include <vector>
#include <string>
#include <algorithm>
#include <map>

int n,nrsol;
vector<string> sol;
map<string,int> UZ;

ofstream fout ( out );

int main()
{
    ifstream fin ( in );
    
    fin >> n;
    int i;
    string s = ""; nrsol = 0;
    
    for ( i = 1; i <= n; ++i )
    {
        fin >> s;
        string prov = s;
        sort( prov.begin(), prov.end() );
        sol.push_back( prov );
    }
    
    for ( i = 0; i < sol.size(); ++i )
    {
        UZ[sol[i]]++;
    }
    sol.erase(unique(sol.begin(),sol.end()),sol.end());
    for ( i = 0; i < sol.size(); ++i )
        if ( UZ[sol[i]] == 1 ) nrsol++;
    
    fout << nrsol << "\n";
    fin.close();
    fout.close();
    
    return 0;
}