Pagini recente » Diferente pentru utilizator/cosser intre reviziile 25 si 29 | Diferente pentru problema/adunare intre reviziile 60 si 21 | Diferente pentru problema/ordini intre reviziile 11 si 12 | Istoria paginii utilizator/davidpandele0 | Diferente pentru problema/search intre reviziile 2 si 8
Diferente intre titluri:
Diferente intre continut:
h2. Cerinţă
Fiind dată lista care conţine numele fişierelor, determinaţi numărul de fişiere care va fi returnat după fiecare introducere sau ştergere a unui caracter din câmpul de căutare.
p<>. Fiind dată lista care conţine numele fişierelor, determinaţi numărul de fişiere care va fi returnat după fiecare introducere sau ştergere a unui caracter din câmpul de căutare.
h2. Date de intrare
p<>. Fişierul de intrare $search.in$ conţine pe prima linie două numere naturale $N$ şi $M$, reprezentând numărul de fişiere, respectiv numărul de operaţii care se fac asupra câmpului de căutare. Pe următoarele $N$ linii se găsesc cele $N$ nume de fişiere, formate doar din litere mici ale alfabetului latin. Urmează apoi $M$ linii care descriu operaţiile în ordinea în care sunt efectuate. Astfel, pe fiecare linie $i$ se afla un singur caracter care descrie operaţia $i$. Acest caracter este fie o literă, ceea ce înseamnă că s-a introdus litera respectivă în câmpul de căutare, fie caracterul $'-'$, ceea ce înseamnă că s-a şters ultima literă din câmpul de căutare.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 100$
* $1 ≤ M ≤ 200 000$
* lungimea oricărui nume de fişier este maxim $5000$;
* două sau mai multe fişiere pot avea acelaşi nume;
* prima litera introdusă nu va fi ştearsă niciodată.
h2. Exemplu
table(example). |_. search.in |_. search.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
...
table(example). |_. search.in |_. search.out |_. Explicaţie |
| 4 5
palalila
alabala
olimpiada
iasi
a
a
l
-
b
| 4
3
2
3
1
| - prima dată se introduce litera a, care se găseşte în toate cele 4 nume de fişiere
- după a doua operaţie câmpul va avea valoarea *aa* şi vor fi găsite primele 3 fişiere
- după a treia operaţie câmpul va avea valoarea *aal* şi vor fi găsite fişierele p{*a*}l{*a*}li{*l*}a şi al{*a*}b{*al*}a
- după a patra operaţie câmpul va avea din nou valoarea *aa* şi vor fi găsite primele 3 fişiere
- după a cincea operaţie câmpul va avea valoarea *aab* şi va fi găsit doar fişierul {*a*}l{*ab*}ala
|
== include(page="template/taskfooter" task_id="search") ==
Nu exista diferente intre securitate.
Diferente intre topic forum: