Pagini recente » Diferente pentru problema/panza intre reviziile 5 si 4 | Istoria paginii utilizator/tibi2012 | Diferente pentru utilizator/marcelcodrea intre reviziile 94 si 93 | Diferente pentru problema/editor intre reviziile 48 si 47 | Diferente pentru problema/editor intre reviziile 70 si 1
Diferente intre titluri:
Diferente intre continut:
== include(page="template/taskheader" task_id="editor") ==
Se considera un editor de text care raspunde doar la apasarea a sase taste, si anume cele care au tiparite simbolurile: "$($", "$)$", "$[$", "$]$", "$*$" si "$E$". Daca se apasa una din tastele "$($", "$)$", "$[$" sau "$]$" atunci se afiseaza caracaterul respectiv pe ecran. Daca se apasa tasta * se sterge ultimul caracter afisat (daca nu este afisat nici un caracter nu se intampla nimic).
Daca se apasa tasta "$E$" atunci editorul va verifica daca sirul afisat pe ecran este un sir parantezat corect. Un sir este parantezat corect daca este construit conform regulilor:
* <sir parantezat corect> = <sirul vid>
* <sir parantezat corect> = "(" + <sir parantezat corect> + ")"
* <sir parantezat corect> = "[" + <sir parantezat corect> + "]"
* <sir parantezat corect> = <sir parantezat corect> + <sir parantezat corect>
Prin $X+Y$ s-a notat concatenarea sirurilor $X$ si $Y$. De exemplu $[](())$ este sir parantezat corect, dar $[](()][$ nu este sir parantezat corect.
h2. Cerinta
Dandu-se o succesiune de taste apasate care se termina cu tasta "$E$" si stiind ca, initial, nici un caracter nu este afisat pe ecran, trebuie sa decideti daca sirul afisat pe ecran in urma apasarii tastelor este parantezat corect.
Poveste si cerinta...
h2. Date de intrare
Pe prima linie a fisierului $editor.in$ se afla un numar intreg $T$, reprezentand numarul de succesiuni de taste care vor fi apasate in continuare. Pe fiecare dintre urmatoarele $T$ linii este descrisa cate o succesiune de taste apasate.
...
h2. Date de iesire
In fisierul $editor.out$ se vor scrie exact $T$ linii, cate una pentru fiecare succesiune de taste descrisa in fisierul de intrare. Pe fiecare linie veti afisa "$:)$" (fara ghilimele) daca sirul obtinut in urma succesiunii corespunzatoare de taste este parantezat corect, respectiv "$:($", in caz contrar.
...
h2. Restrictii
* {$1 ≤ T ≤ 30$}
* nici o succesiune de caractere nu contine mai mult de $60000$ de taste apasate
* nu se acorda punctaje partiale
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. editor.in |_. editor.out |
| 3
E
[][][]E
**[]()*E
| :)
:)
:(
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicatie
...
== include(page="template/taskfooter" task_id="editor") ==
Nu exista diferente intre securitate.
Diferente intre topic forum: