Na podstawie TEGO pytania.
Biorąc pod uwagę ciąg, zamień każdy nawias ()[]{}<>
na nawias odpowiedniego typu, aby nawiasy pasowały do siebie, a nawiasy zagnieżdżone wykonują cykl w następujący sposób:
- Najbardziej oddalone są
()
- Bezpośrednio wewnątrz
()
powinno być[]
- Bezpośrednio wewnątrz
[]
powinno być{}
- Bezpośrednio wewnątrz
{}
powinno być<>
- Bezpośrednio wewnątrz
<>
będzie()
ponownie (cykle)
Wszystkie znaki bez nawiasów muszą pozostać dokładnie takie, jakie są. Otwarte nawiasy można zastąpić tylko otwartymi nawiasami pewnego typu, a nawiasy zamknięte nawiasami zamkniętymi.
Wejście zawsze umożliwi to. Oznacza to, że nawiasy są poprawnie dopasowane, jeśli ich typ jest ignorowany. Tak, {ab<)c]
to ważne wejście, ale ab)(cd
czy ab((cd
nie.
Przykłady:
2#jd {¤>. = 2#jd (¤).
abcdef = abcdef
(3×5+(4-1)) = (3×5+[4-1])
<<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}])
Używanie natywnej transformacji danych wejściowych w ten sposób (automatyczna składnia języka) jest niedozwolone.
Jak zawsze: wygrywa najkrótszy kod.