Fişierul intrare/ieşire: | cenzurate.in, cenzurate.out | Sursă | CDL ETTI 2014 Selection |
Autor | Cosmin Boaca | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Cenzurate
Scopul acestei teme este de a realiza un program care va filtra mesajele de pe un forum cu discuţii legate de programare şi va executa nişte statistici simple. Filtrarea mesajelor constă în cenzurarea cuvintelor inadecvate.
Conţinutul unui forum va fi simulat prin conţinutul unui fişier text.
Cerinţă
Se cere să se înlocuiască orice cuvânt care apare în lista de cuvinte inadecvate cu un cuvânt format din prima literă a acestuia şi un număr de steluţe corespunzătoare lungimii cuvântului.
Exemplu:
- cenzură - c******
- parte - p****
De asemenea, se cere determinarea celui mai popular utilizator. Se va calcula un scor pentru fiecare utilizator folosind următoarea formulă: număr_posturi_bune(user) - număr_posturi_rele(user).
Un post despre un anumit user (A) este considerat:
- bun, dacă este postat de un alt user (B), conţine numele user-ului (A) şi nu conţine niciun cuvânt inadecvat
- rău, dacă este postat de un alt user (B), conţine numele user-ului (A) şi conţine cel puţin un cuvânt inadecvat
Date de intrare
Prima linie a fişierului de intrare cenzurate.in conţine 2 numere:
- N = numărul de utilizatori ai forumului
- K = numărul de cuvinte ce trebuie cenzurate
Urmează apoi K linii. Fiecare linie conţine un cuvânt. Acestea sunt cuvintele ce vor trebui cenzurate.
Urmează N blocuri ce definesc datele fiecărui utilizator. Fiecare utilizator are mai multe mesaje postate pe forum. K1, K2, ..., KN reprezintă numărul de mesaje ale fiecărui utilizator.
Input:
N K
cuvant_1
cuvant_2
…
cuvant_K
Nume_User_1 K1
mesaj_1
mesaj_2
…
mesaj_K1
Nume_User_2 K2
mesaj_1
…
mesaj_K2
…
Nume_User_N KN
mesaj_1
…
mesaj_KN
Date de ieşire
Fişierul de ieşire cenzurate.out va conţine datele de ieşire în următorul format:
Nume_User_1
mesaje_prelucrate_cate_unul_pe_linie
Nume_User_2
mesaje_prelucrate_cate_unul_pe_linie
…
Nume_User_N
mesaje_prelucrate_cate_unul_pe_linie
Most popular : Nume_User_Cel_Mai_Popular
Restricţii
- linile vor avea maxim 2000 de caractere
- un mesaj este scris pe o singură linie
- niciun utilizator nu are mai mult de 100 de postări
- N ≤ 100
- K ≤ 200
- pot exista mai multi useri care sa aiba scorul maxim de popularitate, iar in acest caz trebuie afisati toti in forma:
Most popular : user1 user2 user3 ...
in ordinea in care apar in fisierul de intrare