Bessie là cô bò đang cố gắng gõ một chuỗi ngoặc đơn cân bằng vào máy tính xách tay của cô ta, nhưng cô ta rất vụng về (do móng guốc khá lớn) nên cô ta hay gõ mất các kí tự. Hãy giúp cô ta tính xem có bao nhiêu kí tự trong chuỗi ngoặc đơn cần phải được đổi chiều (có nghĩa là đổi dấu mở ngoặc đơn thành dấu đóng ngoặc đơn, và ngược lại) để chuỗi ban đầu thành chuỗi cân bằng.
Có nhiều cách để định nghĩa một chuỗi ngoặc là “cân bằng.” Cách dễ nhất là số lượng dấu mở ngoặc ‘(‘ bằng số lượng dấu đóng ngoặc ‘)’, và với bất kì chuỗi tiền tố nào, số lượng dấu mở ngoặc đơn ‘(‘ phải lớn hơn hoặc bằng số lượng dấu đóng ngoặc đơn ‘)’. Trong những ví dụ sau đây, những chuỗi ở bên dưới là chuỗi cân bằng:
()
(())
()(()())
Những chuỗi sau đây là chuỗi không cân bằng:
)(
())(
((())))
INPUT: CLUMSY.INP
OUTPUT: CLUMSY.OUT
CLUMSY.INP |
CLUMSY.OUT |
())( |
2 |