Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2023-03-23 17:35:18.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:paranteze3.in, paranteze3.outSursăad-hoc
AutorTudor MuresanAdăugată decypryCiprian Oprisa cypry
Timp execuţie pe test0.05 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Paranteze inversate

Un şir conţinând numai paranteze de tipul '(' şi ')' este echilibrat în următoarele condiţii:
* şirul () este echilibrat;
* concatenarea a două şiruri echilibrate este un şir echilibrat;
* dacă s este un şir echilibrat, atunci (s) este un şir echilibrat.

Condiţia de echilibrare este mai "tare" decât faptul că numărul de paranteze '(' şi ')' este egal. De exemplu şirul '())(()' nu este echilibrat.

Sarcina voastră este de a reechilibra un şir de paranteze echilibrat, după ce o singură paranteză din şir este inversată. Mai exact, fiind dat un şir echilibrat şi după ce o paranteză la o poziţie specificată este inversată, trebuie inversată cea mai din stânga paranteză care reechilibrează şirul.

După ce şirul a fost modificat prin inversarea parantezei de la poziţia determinată de voi, operaţia continuă cu specificarea unei alte poziţii la care se inversează o paranteză, urmând ca voi să determinaţi din nou poziţia parantezie celei mai din stânga, a cărei inversare reechilibrează şirul.

Date de intrare

Fişierul de intrare paranteze3.in conţine mai multe exemple de test. Fiecare exemplu de test conţine pe prima linie numerele întregi N şi Q, separate de un spaţiu. Pe următoarea linie este dat şirul echilibrat s având lungimea N. Urmează o linie conţinând Q întregi qi ($1 ≤ qi ≤ N$) separaţi prin spaţiu, indicând poziţia parantezei inversate care dezechilibrează şirul. Fişierul se termină cu o linie care conţine 0.

Date de ieşire

În fişierul de ieşire paranteze3.out ...

Restricţii

  • 2 ≤ N ≤ 10000
  • 1 ≤ ! ≤ 5000

Exemplu

paranteze3.inparanteze3.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?