Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | litere2.in, litere2.out | Sursă | Infoarena Monthly 2014, Runda 5 |
Autor | Teodor Plop | Adăugată de | |
Timp execuţie pe test | 0.175 sec | Limită de memorie | 36864 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Litere2
Antonio este un mare cuceritor, ca orice alt italian get-beget. Pe lista sa de cuceriri se numără şi Antonia, studentă la litere. Antonio ştie că pentru a o cuceri, va trebui să devină expert într-o limbă necunoscută, preferata Antoniei. Primul pas pe care trebuie să îl facă Antonio este să înţeleagă conexiunile dintre cuvintele acestei limbi. Două cuvinte fac parte din acelaşi grup, dacă sunt formate din aceleaşi litere, repetate de oricâte ori.
Cerinţă
Se dă un text, format din cuvinte, separate între ele prin cel puţin un spaţiu. Fiecare cuvânt conţine doar litere mici ale alfabetului englez. Se cere să se calculeze numărul de grupuri distincte care se pot forma din cuvintele din text, cât şi cuvintele care fac parte din fiecare grup.
Date de intrare
Fişierul de intrare litere2.in conţine textul în limba necunoscută înţeleasă de Antonia. Textul este format din cuvinte, separate între ele prin cel putin un spaţiu. Fiecare cuvânt conţine doar litere mici ale alfabetului englez. La finalul textului, se va afla caracterul ".".
Date de ieşire
În fişierul de ieşire litere2.out se va găsi pe prima linie, număr natural N, reprezentând numărul de grupuri din text. Următoarele N linii reprezintă componenţa fiecărui grup, astfel: pe fiecare linie se vor găsi cuvintele care fac parte dintr-un grup, separate între ele printr-un singur spaţiu.
Restricţii
- 1 ≤ L ≤ 100.000, unde L este lungimea textului.
- Atât grupurile, cât şi cuvintele din fiecare grup, pot fi afişate în orice ordine.
Exemplu
litere2.in | litere2.out |
---|---|
nina face nani. | 2 face nina nani |
ab aab ba bb b. | 2 ab aab ba bb b |