Zagrade
Submit solution
Points:
70 (partial)
Time limit:
5.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Perl, Python
Državno natjecanje 2013. / Osnovna škola (8. razred) - 2. zadatak
Zadan je niz sa znakovima: '?', '(', ')', '[', ']', '{', '}'.
Potrebno je u nizu zamijeniti svaki znak '?' s nekim od znakova ')', ']', '}' tako da se dobije pravilan niz.
Pravilan niz definiramo na poznati način kako slijedi:
- (), [], {} su pravilni nizovi;
- Ako je X pravilan niz, onda su i nizovi (X), [X], {X} pravilni;
- Ako su X i Y pravilni nizovi, onda je i niz XY pravilan.
Npr, primjeri pravilnih nizova su: ((())), ([]), {}()[], [{}(){}], ([()]{{}}), a primjeri nepravilnih nizova su: {, ][, ([)], ([]{(}, [[()], {([])()]{}.
Rješenje će uvijek postojati i bit će jedinstveno.
ULAZNI PODATCI
U prvom retku nalazi se jedan prirodan broj N (1 ≤ N ≤ 30), duljina niza znakova.
U drugom retku nalazi se niz znakova duljine N.
IZLAZNI PODATCI
U jedinom retku treba ispisati pravilan niz znakova dobiven postupkom opisanim u zadatku.
PRIMJERI TEST PODATAKA
Ulaz
4
({?)
Izlaz
({})
Ulaz
2
[?
Izlaz
[]
Ulaz
10
{[?[]?(?[]
Izlaz
{[][]}()[]
Comments