Cod sursa(job #2390339)

Utilizator bananamandaoneTudor Cosmin Oanea bananamandaone Data 27 martie 2019 22:17:33
Problema Restante Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <bits/stdc++.h>
#define nmax 36005
using namespace std;

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

int n;
struct Cuvant
{
    char c[20];
};
Cuvant a[nmax];
int fv[nmax];

inline int cmp(Cuvant A, Cuvant B)
{
    int i;
    i = 0;
    if (strlen(A.c) != strlen(B.c))
        return strlen(A.c) - strlen(B.c);

    while(A.c[i] && B.c[i])
    {
        if(A.c[i] < B.c[i])
            return -1;
        if (A.c[i] > B.c[i])
            return 1;
        i++;
    }
    return 0;
}

int main()
{
    int i,x,sol;
    fin>>n;
    for(i = 1; i <= n; i++)
    {
        fin>>a[i].c;
        x = strlen(a[i].c);
        sort(a[i].c,a[i].c+x);
    }
    sort(a+1,a+n+1,cmp);

    sol = 0;
    for(i = 2; i <= n; i++)
        if(cmp(a[i],a[i-1]) == 0)
        {
            fv[i] = 1;
            fv[i-1] = 1;
        }

    for (i = 1; i<= n; i++)
        if (fv[i] == 0)
            sol ++;

    fout<<sol<<"\n";

    return 0;
}