Programarea pe mobil funcționează. Un laptop este mai rapid pentru sesiuni lungi.

Problema

Citește de la tastatură un șir de cel mult 2000 de caractere care poate conține paranteze rotunde ( ), paranteze drepte [ ], acolade { }, precum și alte caractere oarecare (litere, cifre, operatori).

Spunem că șirul are paranteze echilibrate dacă:

  • fiecare paranteză deschisă are o paranteză închisă de același tip;
  • parantezele se închid în ordine inversă deschiderii (nu se intersectează).

Afișează DA dacă parantezele sunt echilibrate și NU altfel.

Pentru rezolvare folosește o stivă implementată cu un vector de caractere și un indice top. Nu folosi structuri din STL.

Format Date de intrare

Date de intrare input.txt

Programul citește de la tastatură un singur șir, pe o linie. - șirul are cel mult `2000` de caractere; - caracterele care nu sunt paranteze se ignoră la verificare; - un șir fără nicio paranteză este considerat echilibrat.

Format Date de ieșire

Date de ieșire output.txt

Programul afișează pe ecran cuvântul `DA` sau `NU`, urmat de linie nouă.

Exemplu

intrare
(a+[b-{c*d}])
rezultat
DA

Ești gata să rezolvi această provocare?

Creează un cont gratuit pentru a scrie cod, a trimite soluții și a-ți urmări progresul.

⌨️ Scurtături de tastatură

Editor de cod
Rulează codul
Ctrl Enter
Trimite codul
Ctrl Shift Enter
Formatează codul
Shift Alt F
Comută comentariul
Ctrl /
Anulează
Ctrl Z
Refă
Ctrl Y
Navigare
Căutare globală
/
Afișează scurtăturile
?
Închide fereastra
Esc

🔍 Depanator interactiv

0 / 0

Se analizează codul tău...

📦 Variabile

Nicio variabilă încă

📚 Stivă de apeluri
main() linia 1
📤 Rezultat