Nhiệm vụ của bạn, nên bạn chọn để chấp nhận nó, là để thêm các tối thiểu số dấu ngoặc đơn, dấu ngoặc, và dấu ngoặc để thực hiện một chuỗi cho trước (chỉ chứa dấu ngoặc đơn, dấu ngoặc, và khung) có phù hợp với cú đúp đúng. Các ràng buộc của các biểu tượng được thêm vào phải được phá vỡ bằng cách có khoảng cách tối đa giữa các dấu ngoặc nhọn. Bạn phải trả lại chỉ một câu trả lời đúng phù hợp với hai quy tắc này; Mối quan hệ xa hơn, nếu chúng tồn tại, có thể bị phá vỡ bất kỳ cách nào bạn thấy phù hợp.
Ví dụ:
input output
// Empty String is a legal input
[ [] // Boring example
[()] [()] // Do nothing if there's nothing to be done
({{ ({{}}) // NOT (){}{} (0 + 0 + 0). Maximum distance is 4 + 2 + 0, ({{}})
[([{])]} {[([{}])]} // NOT [([])]{[([])]} or similar
Bạn có thể viết chương trình hoặc hàm , nhận đầu vào qua STDIN dưới dạng đối số chuỗi cho hàm của bạn, trả về đầu ra dưới dạng chuỗi hoặc in ra STDOUT (hoặc thay thế gần nhất). Bạn có thể tùy ý bao gồm một dòng mới duy nhất trong đầu ra.
Bạn có thể giả sử chuỗi đầu vào chỉ bao gồm 6 ký tự sau (hoặc thiếu ký tự sau): [](){}
(Bạn không cần hỗ trợ <>
)
Đây là mã golf , chương trình chiến thắng ngắn nhất. Tất nhiên, sơ hở bị cấm .