Dựa trên câu hỏi NÀY .
Đưa ra một chuỗi, thay thế mỗi dấu ngoặc ()[]{}<>
bằng một dấu ngoặc của loại thích hợp sao cho dấu ngoặc khớp và chu kỳ ngoặc được lồng như sau:
- Những người ngoài cùng là
()
- Trực tiếp bên trong
()
nên[]
- Trực tiếp bên trong
[]
nên{}
- Trực tiếp bên trong
{}
nên<>
- Trực tiếp bên trong
<>
sẽ là()
một lần nữa (chu kỳ)
Tất cả các ký tự không dấu ngoặc phải giữ chính xác như hiện tại. Dấu ngoặc mở chỉ có thể được thay thế bằng dấu ngoặc mở của một số loại và đóng ngoặc với dấu ngoặc đóng.
Đầu vào sẽ luôn luôn làm điều này có thể. Điều này có nghĩa là dấu ngoặc của nó khớp chính xác nếu loại của chúng bị bỏ qua. Vì vậy, {ab<)c]
là một đầu vào hợp lệ, nhưng ab)(cd
hoặc ab((cd
không.
Ví dụ:
2#jd {¤>. = 2#jd (¤).
abcdef = abcdef
(3×5+(4-1)) = (3×5+[4-1])
<<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}])
Không được phép sử dụng chuyển đổi gốc của đầu vào theo cách này (cú pháp tự động của ngôn ngữ).
Như mọi khi: mã ngắn nhất sẽ thắng.