บนพื้นฐาน นี้คำถาม
กำหนดสตริงแทนที่แต่ละวงเล็บ()[]{}<>ด้วยวงเล็บของประเภทที่เหมาะสมเพื่อให้วงเล็บจับคู่และรอบซ้อนกันวงเล็บดังนี้
- สิ่งที่อยู่นอกสุดคือ
() ()ควรจะอยู่ข้างในโดยตรง[][]ควรจะอยู่ข้างในโดยตรง{}{}ควรจะอยู่ข้างในโดยตรง<>- ด้านในตรงจาก
<>จะเป็น()อีกครั้ง (รอบ)
ตัวอักษรที่ไม่ใช่วงเล็บทั้งหมดจะต้องคงอยู่เหมือนเดิม วงเล็บเปิดอาจถูกแทนที่ด้วยวงเล็บเปิดบางชนิดเท่านั้นและปิดวงเล็บด้วยวงเล็บปิด
อินพุตจะทำให้เป็นไปได้เสมอ นี่หมายความว่าวงเล็บนั้นจับคู่อย่างถูกต้องหากไม่ระบุประเภท ดังนั้น{ab<)c]เป็นอินพุตที่ถูกต้อง แต่มีab)(cdหรือab((cdไม่
ตัวอย่าง:
2#jd {¤>. = 2#jd (¤).
abcdef = abcdef
(3×5+(4-1)) = (3×5+[4-1])
<<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}])
ไม่อนุญาตให้ใช้การแปลงดั้งเดิมของอินพุตด้วยวิธีนี้ (ไวยากรณ์ภาษาอัตโนมัติ)
เช่นเคย: รหัสที่สั้นที่สุดชนะ