Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | luffpar.in, luffpar.out | Sursă | InfoOltenia 2018 - Clasele 11 - 12 |
Autor | Mihai Popa | Adăugată de | |
Timp execuţie pe test | 1.25 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Luffpar
Bluff a descoperit recent în maşina gri o secvenţă de paranteze rotunde. Din motive necunoscute, el doreşte să efectueze următoarele operaţii pe baza noii descoperiri:
- operaţie de tipul 1: dându-se l si r două poziţii valide ale secvenţei, să se modifice toate parantezele dintre l si r inclusiv - astfel, parantezele ‘(‘ devin ‘)’ iar cele ‘)’ devin ‘(‘
- operaţie de tipul 2: dându-se l si r două poziţii valide ale secvenţei, să se spună daca subsecvenţa de paranteze dintre l si r reprezintă sau nu o parantezare corecta. Formal, o parantezare corectă este construită conform următoarelor reguli:
- <parantezare corectă> = <secvenţă vida>
- <parantezare corectă> = “(“ + <parantezare corectă> + “)”
- <parantezare corectă> = <parantezare corectă> + <parantezare corectă>
Următoarele reprezintă exemple de parantezari corecte: (), (()()), (()())(), (()())(()())
Următoarele reprezintă exemple de parantezari incorecte: )), )(, ()), ())(, (()))(
Date de intrare
Fişierul de intrare luffpar.in ...
Date de ieşire
În fişierul de ieşire luffpar.out ...
Restricţii
- ... ≤ ... ≤ ...
Exemplu
luffpar.in | luffpar.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...