cs_101 Dãy các dấu ngoặc
Xem dạng PDFcs_101 Dãy các dấu ngoặc Chúng ta gọi một xâu S là dãy ngoặc đúng nếu nó chỉ gồm các kí tự '{', '}', '[', ']', '(', ')' và thoả mãn một trong ba điều kiện sau đây:
-S là xâu rỗng
-S có thể biểu diễn dưới dạng S = S₁ + S₂ + ... + Sₙ (N>1), với Sᵢ là các dãy ngoặc đúng không rỗng còn dấu '+' là kí hiệu nối các dãy (concat).
-S có thể biểu diễn dưới dạng S = '{' + C + '}' hoặc S = '[' + C + ']' hoặc S = '(' + C + ')', ở đây C là dãy ngoặc đúng.
Cho trước một xâu S chỉ gồm các kí tự '{', '}', '[', ']', '(', ')' yêu cầu xác định số ít nhất các kí tự cần phải đặt thêm vào S để nó trở thành dãy ngoặc đúng. Dữ liệu vào: Gồm 1 dòng ghi xâu S chỉ gồm các kí tự '{', '}', '[', ']', '(', ')'. Độ dài của xâu không quá 100 kí tự. Dữ liệu ra: ghi một số nguyên không âm là số ít nhất các kí tự cần phải đặt thêm vào xâu S để nó trở thành dãy ngoặc đúng.
INPUT1
{(})
OUTPUT1
2
INPUT2
([{}])
OUTPUT2
0
Bình luận