Nu aveti permisiuni pentru a descarca fisierul grader_test5.ok
Diferente pentru problema/editor intre reviziile #43 si #70
Diferente intre titluri:
editor
Editor
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).
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:
1704