Cod sursa(job #3265863)

Utilizator PredaBogdanPreda Bogdan PredaBogdan Data 3 ianuarie 2025 19:06:23
Problema Restante Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("restante.in");
ofstream g("restante.out");

bool verif(char a[17], char b[17]){
    int ap[123] = {0}, lenA = strlen(a), lenB = strlen(b);

    if (lenA != lenB){
        return 0;
    }
    else{
        while (lenA){
            lenA--;
            ap[(int)a[lenA]]++;
            ap[(int)b[lenA]]++;
        }
    }

    for (int i = 97; i <= 122; i++){
        if(ap[i] % 2 != 0){
            return 0;
        }
    }

    return 1;
}

int main(void){
    char vec[36001][17];
    int n = 0, count = 0;
    bool ok = true;
    f >> n; f.get();
    for (int i = 0; i < n; i++){
        f.getline(vec[i], 17);
    }

    for (int i = 0; i < n - 1; i++){
        ok = true;
        for (int j = i + 1; j < n; j++)
            if(verif(vec[i], vec[j]) == 1){
                ok = false; 
                break;
            }
        if(ok) count++;
    }

    g << count;

    return 0;
}