2631 - H4
Context[edit | edit source]
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[edit | edit source]
Să se determine numărul maxim de cuvinte dintr-un grup.
Date de intrare[edit | edit source]
Programul citește de la tastatură o succesiune de cuvinte separate prin spații.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran un singur număr reprezentând numărul maxim de cuvinte dintr-un grup. În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu respecta cerintele impuse." , iar daca se indeplinesc, se afiseaza mesajul "Datele de intrare respecta cerintele impuse."
Restricţii şi precizări[edit | edit source]
- Cuvintele au lungimea cel mult 14 și conțin numai litere mici.
- Vor exista cel mult 100.000 de cuvinte în șir.
Exemplul 1[edit | edit source]
- Intrare
alee leee elea car rac eela eeel elee elee
- Ieșire
Datele de intrare respecta cerintele impuse. 4
Explicație[edit | edit source]
Grupul maximal este format din cuvintele leee, eeel, elee, elee.
Exemplul 2[edit | edit source]
- Intrare
Alee leee elea car
- Ieșire
Datele de intrare nu respecta cerintele impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def numar_maxim_anagrame(cuvinte):
grupuri_anagrame = {}
for cuvant in cuvinte: cheie = .join(sorted(cuvant)) if cheie in grupuri_anagrame: grupuri_anagrame[cheie].append(cuvant) else: grupuri_anagrame[cheie] = [cuvant]
numar_maxim = max(len(grup) for grup in grupuri_anagrame.values())
return numar_maxim
if __name__ == "__main__":
try: input_str = input() cuvinte = input_str.split()
if all(1 <= len(cuvant) <= 14 and cuvant.islower() for cuvant in cuvinte) and 1 <= len(cuvinte) <= 100000: rezultat = numar_maxim_anagrame(cuvinte) print("Datele de intrare respecta cerintele impuse.") print(rezultat) else: print("Datele de intrare nu respecta cerintele impuse.") except ValueError: print("Datele de intrare nu respecta cerintele impuse.")
</syntaxhighlight>