Cod sursa(job #1811043)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 20 noiembrie 2016 19:53:43
Problema Restante Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fin ("restante.in");
ofstream fout("restante.out");
int n,i,z,j,f[36010],ii,ok,nr;
char a[18],v[36010][18];

int main ()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a;
        z=0;
        while(a[z]!=0)
            z++;
        sort(a, a+z);
        for(j=1;j<=z;j++)
            v[i][j]=a[j-1];
        v[i][0]=z;
    }
    nr=n;
    for(i=1;i<n;i++)
        if(f[i]==0)
        {
            for(ii=i+1;ii<=n;ii++)
                if(v[i][0]==v[ii][0])
                {
                    ok=0;
                    for(j=1;j<=v[i][0];j++)
                        if(v[i][j]!=v[ii][j])
                        {
                            ok=1;
                            break;
                        }
                    if(ok==0)
                    {
                        f[i]=-1;
                        f[ii]=-1;
                        nr--;
                    }
                }
            if(f[i]==-1)
                nr--;
        }
    fout<<nr;
    fin.close();
    fout.close();
    return 0;
}