Cắt bi-bảng MAX-MEX
Đề bài
Mô tả
Một bi-bảng là một bảng gồm đúng hai hàng có độ dài bằng nhau, mỗi hàng là một xâu nhị phân (chỉ gồm các ký tự 0 và 1).
Với một bi-bảng, định nghĩa của nó là số nhỏ nhất trong tập không xuất hiện trong bi-bảng đó. Ví dụ, của bi-bảng
bằng , vì cả và đều xuất hiện. của bi-bảng
bằng , vì không xuất hiện (và ).
Cho một bi-bảng có cột. Bạn cần cắt nó thành một số bi-bảng con (mỗi bi-bảng con gồm các cột liên tiếp) sao cho mỗi cột thuộc về đúng một bi-bảng con. Cho phép giữ nguyên cả bảng làm một bi-bảng con duy nhất.
Hãy tính tổng lớn nhất của các bi-bảng con thu được.
Dữ liệu vào
Dòng đầu chứa số nguyên () — số bộ dữ liệu.
Với mỗi bộ dữ liệu:
- Dòng đầu chứa số nguyên () — số cột của bi-bảng.
- Hai dòng tiếp theo, mỗi dòng chứa một xâu nhị phân độ dài — hai hàng của bi-bảng.
Tổng trên tất cả các bộ dữ liệu không vượt quá .
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra một số nguyên — tổng lớn nhất có thể đạt được.
Ràng buộc
- Tổng
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 7 0101000 1101100 5 01100 10101 2 01 01 6 000000 111111 |
8 8 2 12 |
Bộ 1: cắt thành các đoạn cột với MEX lần lượt là , tổng . Bộ 4: mỗi cột có dạng với MEX , tổng . |
| 4 1 0 0 1 1 1 1 1 0 1 0 1 |
1 0 2 2 |
Bốn bộ dữ liệu kiểm tra một cột đơn: , , , . |
Bình luận