cs_101 Dãy các dấu ngoặc

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 501M
Input: stdin
Output: stdout

Nguồn bài:
Sách Thầy Trần Đỗ Hùng, Đỗ Đức Đông, Lê Sỹ Quang
Dạng bài

cs_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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.