Fişierul intrare/ieşire:editor.in, editor.outSursăStelele Informaticii 2003, clasele 9-10
AutorMugurel Ionut AndreicaAdăugată deastronomyAirinei Adrian astronomy
Timp execuţie pe test0.2 secLimită de memorie20096 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

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.

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.

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.

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.

Restrictii

  • 1 ≤ T ≤ 30
  • nici o succesiune de caractere nu contine mai mult de 60000 de taste apasate
  • nu se acorda punctaje partiale

Exemplu

editor.ineditor.out
3
E
[][][]E
**[]()*E
:)
:)
:(
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content