Pagini recente » Diferente pentru problema/plaja2 intre reviziile 13 si 1 | Diferente pentru utilizator/andrutza intre reviziile 3 si 5 | Diferente pentru problema/pandemie intre reviziile 39 si 6 | Diferente pentru problema/critice2 intre reviziile 9 si 10 | Diferente pentru problema/paranteze intre reviziile 1 si 5
Diferente intre titluri:
Diferente intre continut:
== include(page="template/taskheader" task_id="paranteze") ==
Poveste şi cerinţă...
Ţirbi tocmai a învăţat la un curs de Silverlight despre paranteze rotunde $"(, )"$, drepte $"[, ]"$ şi acolade $"{, }"$. Un şir este parantezat corect dacă este construit conform regulilor:
* $<şir parantezat corect> = <şirul vid>$
* $<şir parantezat corect> = "(" + <şir parantezat corect> + ")"$
* $<şir parantezat corect> = "[" + <şir parantezat corect> + "]"$
* $<şir parantezat corect> = "{" + <şir parantezat corect> + "}"$
* $<şir parantezat corect> = <şir parantezat corect> + <şir parantezat corect>$
h2. Cerinţă
Ca la orice curs, se dau teme de casă, iar Ţirbi a primit următoarea problemă: Având un şir cu $N$ paranteze, să se afle lungimea maximă a unei secvenţe parantezată corect.
h2. Date de intrare
Fişierul de intrare $paranteze.in$ ...
Fişierul de intrare $paranteze.in$ conţine pe prima linie numărul natural $N$, iar pe următoarea linie un şir cu $N$ paranteze.
h2. Date de ieşire
În fişierul de ieşire $paranteze.out$ ...
Fişierul de ieşire $paranteze.out$ conţine lungimea maximă a unei secvenţe corect parantezată.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 1 000 000$
* Pentru $50%$ din teste $N ≤ 1 000$
h2. Exemplu
table(example). |_. paranteze.in |_. paranteze.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 13
{)([({})]([{}
| 6
|
h3. Explicaţie
...
Secvenţa parantezată corect este îngroşată.
${)( **[({})]** ([{}$
== include(page="template/taskfooter" task_id="paranteze") ==
Nu exista diferente intre securitate.
Diferente intre topic forum: