Diferente pentru problema/editor intre reviziile #15 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). 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.
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:
 
* &#60;sir parantezat corect&#62; = &#60;sirul vid&#62;
* &#60;sir parantezat corect&#62; = "(" + &#60;sir parantezat corect&#62; + ")"
* &#60;sir parantezat corect&#62; = "[" + &#60;sir parantezat corect&#62; + "]"
* &#60;sir parantezat corect&#62; = &#60;sir parantezat corect&#62; + &#60;sir parantezat corect&#62;
 
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.
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
* $... &le; ... &le; ...$
* {$1 &le; T &le; 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