Cod sursa(job #3166245)

Utilizator PetraPetra Hedesiu Petra Data 7 noiembrie 2023 23:37:03
Problema Restante Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

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

int n, fr[36002][27], k;
int original (int k)
{
    if (fr[k][27] == -1) return 0;
    for (int i = k + 1; i <= n; i++)
    {
        int ok = 1;
        for (int j = 0; j <= 'z'-'a'; j++)
        {
            if (fr[k][j] != fr[i][j])
            {
                ok = 0;
                break;
            }
        }
        if (ok == 1)
        {
            fr[k][27] = -1;
            fr[i][27] = -1;
            return 0;
        }
    }
    return 1;
}
int main()
{
    fin >> n;
    for (int i = 1; i <= n; i++)
    {
        char c[17];
        fin >> c;
        for (int j = 0; j < strlen(c); j++)
            fr[i][c[j]-'a']++;
    }
    for (int i = 1; i <= n; i++)
    {
        if (original(i))
        {
            k++;
        }
    }
    fout << k;
    return 0;
}