Diferente pentru problema/editor intre reviziile #35 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:
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>$
* &#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. 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