Dayanarak BU soruya.
Bir dize verildiğinde, her braketi ()[]{}<>
uygun tipte bir braketle değiştirin, böylece braketler eşleşir ve iç içe parantezler aşağıdaki gibi döner:
- En dıştaki
()
- Doğrudan içinde
()
olmalıdır[]
- Doğrudan içinde
[]
olmalıdır{}
- Doğrudan içinde
{}
olmalıdır<>
- Doğrudan içinde tekrar
<>
olacak()
(döngü)
Tüm köşeli ayraç olmayan grafikler tam olarak oldukları gibi kalmalıdır. Açık braketler yalnızca bazı tip açık braketlerle ve yakın braketli kapalı braketlerle değiştirilebilir.
Giriş her zaman bunu mümkün kılacaktır. Bu, türlerinin yoksayılması durumunda parantezlerinin doğru eşleştiği anlamına gelir. Yani, {ab<)c]
geçerli bir girdidir ama ab)(cd
ya ab((cd
değildir.
Örnekler:
2#jd {¤>. = 2#jd (¤).
abcdef = abcdef
(3×5+(4-1)) = (3×5+[4-1])
<<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}])
Girişin bu şekilde doğal olarak dönüştürülmesine (dilin otomatik sözdizimi) izin verilmez.
Her zamanki gibi: en kısa kod kazanır.