Pagini recente » Profil andrei-alpha | Diferente pentru utilizator/razboi4 intre reviziile 1 si 2 | Profil andrei-alpha | Autentificare | Diferente pentru problema/editor intre reviziile 34 si 70
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:
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>$
* <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. 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.
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 |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 3
E
[][][]E
**[]()*E
| :)
:)
:(
|
h3. Explicatie
...
== include(page="template/taskfooter" task_id="editor") ==
Nu exista diferente intre securitate.
Diferente intre topic forum: