Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | fbsearch.in, fbsearch.out | Sursă | ONIS 2014, Runda 2 |
Autor | Laurentiu Ion | Adăugată de | |
Timp execuţie pe test | 1.5 sec | Limită de memorie | 131072 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Facebook Search
Pentru aceasta problema va trebui sa implementati functia de cautare de la Facebook pentru un utilizator. Atunci cand scriem numele unei persoane, Facebook ne da sugestii inca de la prima litera introdusa. Aceste sugestii sunt personalizate in functie de relevanta lor pentru fiecare utilizator. Astfel daca Traian scrie "e" va fi autocompletat "Emil Boc", iar daca Vasile scrie "e" va fi autocompletat "Elena Popescu".
Se vor da M operatii:
- Q X - Afiseaza rezultatul cautarii pentru stringul X introdus, in functie de relevanta. Daca doi utilizatori au aceeasi relevanta se va afisa cel mai mic (lexicografic).
- U User R - La relevanta utilizatorului specificat se adauga R (acesta este in functie de interese comune, proximitate, like-uri etc).
Date de intrare
Fişierul de intrare fbsearch.in contine pe prima linie T, numarul de teste. In continuare, pentru fiecare test se vor gasi:
Pe prima linie N, numarul de utilizatori si M, numarul de operatii.
Pe urmatoarele N linii, utilizatorii.
Pe urmatoarele M linii urmeaza operatiile descrise.
Date de ieşire
În fişierul de ieşire fbsearch.out se vor afisa raspunsurile la intrebarile de tip Q.
Daca nu exista niciun raspuns se va afisa "Search Bing for X", unde X este stringul cautat.
Restricţii
- 1 ≤ T ≤ 3
- 1 ≤ N ≤ 100 000
- 1 ≤ M ≤ 100 000
- 0 ≤ R ≤ 10
- Utilizatorii si intrebarile nu vor avea mai mult de 32 de caractere, si nu contin spatii. Doar caractere ale alfabetului englez si "_".
- Nu se tine cont de litere mari la cautari, dar utilizatorii trebuie afisati ca in fisierul de intrare.
- Initial relevanta este 0 pentru toti utilizatorii.
Exemplu
fbsearch.in | fbsearch.out |
---|---|
1 5 7 Andrei_Popescu Giulia_Mateescu Andrei_Anton Teo Teodor Q An Q BiEnCuTzA U Andrei_Popescu 1 Q andr Q Teo U Teodor 1 Q Teo | Andrei_Anton Search Bing for BiEnCuTzA Andrei_Popescu Teo Teodor |