На основании НАСТОЯЩЕГО вопроса.
Для ()[]{}<>
данной строки замените каждую скобку скобкой соответствующего типа так, чтобы скобки совпадали, и вложенные скобки циклически выполняются следующим образом:
- Внешние из них
()
- Прямо внутри
()
должно быть[]
- Прямо внутри
[]
должно быть{}
- Прямо внутри
{}
должно быть<>
- Прямо внутри
<>
будет()
снова (циклы)
Все символы, не являющиеся скобками, должны оставаться такими же, как они. Открытые скобки могут быть заменены только открытыми скобками некоторого типа, а закрывающие скобки - закрывающими скобками.
Ввод всегда сделает это возможным. Это означает, что его скобки совпадают, если их тип игнорируется. Таким образом, {ab<)c]
это правильный вход, но ab)(cd
или ab((cd
нет.
Примеры:
2#jd {¤>. = 2#jd (¤).
abcdef = abcdef
(3×5+(4-1)) = (3×5+[4-1])
<<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}])
Использование встроенного преобразования ввода таким способом (автоматический синтаксис языка) не допускается.
Как всегда: самый короткий код выигрывает.