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