BRACKET-Dãy ngoặc
Một dãy ngoặc được hợp lệ là 1 chuỗi các kí tự chỉ bao gồm những kí tự ngoặc đóng, ngoặc mở và thỏa mãn một trong những điều kiện sau:
Long được thầy cho 1 dãy ngoặc hợp lệ để học thuộc, nhưng vì quậy phá nên đã lở làm dính mực 1 vài kí tự trong dãy. Để phạt Long, thầy bắt Long phải đếm số cách có thể để tạo ra dãy ngoặc hợp lệ bằng cách thay thế những kí tự bị dính mực.
Bạn hãy giúp Long trả lời thầy nhé. Vì kết quả có thể rất lớn, nên bạn chỉ cần output ra 5 chữ số cuối của kết quả.
Dữ liệu vào:
Dòng đầu tiên là N (N<=200) thể hiện độ dài của dãy ngoặc.
Dòng lkfjddthứ 2 thể hiện dãy ngoặc với các kí tự ngoặc (, ), [, ], {, } và dấu ? thể hiện những kí tự bị lem mực.
Dữ liệu ra:
In ra 5 chữ số cuối của số cách có thể để tạo ra những dãy ngoặc hợp lệ từ dãy ngoặc lem mực ban đầu.
Input
8
[{????)]
Output
10
Input
24
{[????[??????]})????????
Output
15106
Nguồn: Team PRACTICE VNOI'20