fbpx

Problema #2631 – h4 – Rezolvari PBInfo

de Mihai-Alexandru

Spunem că două cuvinte sunt anagrame dacă au aceleași litere, eventual în altă ordine. De exemplu, abac și baca sunt anagrame, dar abac și abbc nu sunt. Dându-se un șir de cuvinte separate prin spații sau enter, vom considera că dacă mai multe cuvinte sunt anagrame, atunci ele fac parte din același grup.

Cerința

Să se determine numărul maxim de cuvinte dintr-un grup.

Date de intrare

Programul citește de la tastatură o succesiune de cuvinte separate prin spații sau enter.

Date de ieșire

Programul va afișa pe ecran un singur număr reprezentând numărul maxim de cuvinte dintr-un grup.

Restricții și precizări

  • Cuvintele au lungimea cel mult 14 și conțin numai litere mici.
  • Vor exista cel mult 100.000 de cuvinte în șir.

Exemplu

Intrare

alee leee   elea car   rac
eela eeel  elee  elee

Ieșire

4

Explicație

Grupul maximal este format din cuvintele leee, eeel, elee, elee.

#include <bits/stdc++.h>


using namespace std;
map <string , int> r;
int n , maxi;
int main()
{
    string s;
    while(cin >> s)
    {
        sort(s.begin() , s.end());
        r[s]++;
        if(r[s] > maxi) maxi = r[s];
    }
    cout << maxi;
    return 0;
}
Comentarii

S-ar putea sa iti placa