Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2014-01-11 17:53:23.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:fbsearch.in, fbsearch.outSursăONIS 2014, Runda 2
AutorLaurentiu IonAdăugată defmins123FMI No Stress fmins123
Timp execuţie pe test1.5 secLimită de memorie131072 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Facebook Search

Pentru aceasta problema va trebui sa implementati functia de cautare de la Facebook. 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 autentificari apoi K operatii pentru utilizatorul curent:

  • L User K - Se autentifica utilizatorul specificat, si urmeaza K operatii pentru acesta:
    • 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 pentru utilizatorul curent 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.
Pe urmatoarele N linii, utilizatorii.
Pe urmatoarea linie M, numarul de autentificari.
Pe urmatoarele 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 ≤ N ≤ 1000
  • 1 ≤ M ≤ 1000
  • Numarul total de operatii nu va depasi 100 000
    /* Utilizatorii si query-urile nu vor depasi 32 de caractere.
  • Nu se tine cont de litere mari la cautari, dar utilizatorii trebuie afisati ca in fisierul de intrare.
  • Spatiile sunt reprezentate prin "_"
  • Initial relevanta este 0 pentru toti utilizatorii.

Exemplu

fbsearch.infbsearch.out
1
3
Andrei_Popescu
Giulia_Mateescu
Andrei_Anton
2
L Giulia_Mateescu 4
Q An
Q BiEnCuTzA
U Andrei_Popescu 1
Q andr
Andrei_Anton
Search Bing for BiEnCuTzA
Andrei_Popescu
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?