Fişierul intrare/ieşire:dictree.in, dictree.outSursăSelectie echipe ACM ICPC, UPB 2008
AutorMihai PatrascuAdăugată demugurelionutMugurel-Ionut Andreica mugurelionut
Timp execuţie pe test0.05 secLimită de memorie13096 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Dictree

Pe parcursul acestei probleme, vom numi litera oricare dintre cele 52 de caractere latine (litere mari si mici, care sunt considerate diferite). Numim arbore dictionar un arbore cu radacina, care are fiecare muchie etichetata cu o litera. Un cuvant (succesiune finita de litere) poate fi regasit intr-un arbore dictionar daca exista un drum care coboara in arbore, pornind de la radacina, astfel incat muchiile de pe drum sa fie etichetate cu literele care formeaza cuvantul, in ordine.

Un exemplu valoreaza cat 1000 de cuvinte.

Acest arbore dictionar are 10 noduri.
Urmatoarele cuvinte se pot regasi in acest arbore dictionar: M, MI, MIT, Ma, i, io, ioi, iq, C.
Cateva exemple de cuvinte care nu se pot regasi in acest arbore dictionar: Pascal, a, oi, MIM.

Fiind dat un set de cuvinte, exista o infinitate de arbori dictionar in care se regasesc toate aceste cuvinte. Determinati numarul de noduri ale arborelui cu cele mai putine noduri.

Date de intrare

Pe prima linie a fisierului de intrare dictree.in este scris numarul N de cuvinte. Pe fiecare din urmatoarele N linii se gaseste cate un cuvant (succesiune de litere fara spatii). Cuvintele nu sunt neaparat distincte.

Date de iesire

Fisierul de iesire dictree.out va contine o singura linie, pe care va fi scris numarul minim de noduri ale unui arbore dictionar in care se regasesc cuvintele date.

Restrictii

  • 0 ≤ N ≤ 25.000
  • 1 ≤ numarul de litere dintr-un cuvant ≤ 100

Exemplu

dictree.indictree.out
5
io
iq
C
ioi
MIT
9
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content