Tô Màu RBS Hai Màu
Đề bài
Mô tả
Một xâu chỉ gồm các ký tự "(" và ")" được gọi là xâu ngoặc. Xâu ngoặc được gọi là đúng (regular bracket sequence, viết tắt RBS) nếu có thể chèn thêm các ký tự "+" và "1" vào để thu được một biểu thức số học hợp lệ. Ví dụ "", "(())" và "()()" là các RBS, còn ")(" và "(()" thì không.
Trong một RBS, mỗi dấu ngoặc mở được ghép với đúng một dấu ngoặc đóng. Độ sâu lồng nhau của một RBS là số lớn nhất các cặp ngoặc lồng vào nhau: cặp thứ 2 nằm trong cặp thứ 1, cặp thứ 3 nằm trong cặp thứ 2, và cứ như vậy. Ví dụ độ sâu của "" là 0, của "()()()" là 1, và của "()((())())" là 3.
Cho một RBS có độ dài chẵn . Bạn cần tô màu mỗi dấu ngoặc của bằng một trong hai màu: đỏ hoặc xanh. Xâu gồm các dấu ngoặc màu đỏ (giữ nguyên thứ tự trong ) phải là một RBS, và xâu gồm các dấu ngoặc màu xanh cũng phải là một RBS. Một trong hai xâu có thể rỗng. Không được đổi thứ tự các ký tự, và mỗi dấu ngoặc đều phải được tô màu.
Trong tất cả các cách tô hợp lệ, hãy chọn cách sao cho giá trị lớn nhất giữa độ sâu của và độ sâu của là nhỏ nhất. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Dữ liệu vào
- Dòng đầu chứa số nguyên chẵn : độ dài của .
- Dòng thứ hai chứa RBS có độ dài .
Dữ liệu ra
In ra một xâu độ dài gồm các ký tự "0" và "1". Nếu thì ký tự thuộc về (màu đỏ), ngược lại thì thuộc về (màu xanh).
Ràng buộc
- chẵn
- là một RBS.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 () |
00 | Tô cả hai ngoặc màu đỏ: "()", "". Kết quả là . |
| 4 (()) |
0110 | "()" (vị trí 1 và 4), "()" (vị trí 2 và 3). Độ sâu của cả hai đều là 1, kết quả là 1. Đây là giá trị nhỏ nhất có thể vì có độ sâu 2. |
| 10 ((()())()) |
0100001110 | Một cách tô đạt độ sâu lớn nhất bằng 2, tối ưu vì có độ sâu 3. |
Bình luận