Ngựa vằn dẻo
Đề bài
Mô tả
Cho một xâu chỉ gồm các ký tự b (đen) và w (trắng). Trên xâu này, ta được phép thực hiện thao tác sau 0 hoặc nhiều lần:
- Chọn một vị trí cắt, tách xâu hiện tại thành hai phần (một trong hai phần có thể rỗng), lật ngược (đảo thứ tự ký tự) mỗi phần, rồi ghép hai phần lại theo thứ tự cũ.
Ví dụ với xâu bwbbw, nếu cắt thành bw | bbw thì sau khi lật mỗi phần ta được wb và wbb, ghép lại thành wbwbb.
Sau khi thực hiện các thao tác (có thể không thực hiện thao tác nào), ta lấy ra một dãy con liên tiếp từ xâu thu được sao cho các ký tự xen kẽ nhau (không có hai ký tự liền kề bằng nhau). Hãy tìm độ dài lớn nhất có thể của dãy con đó.
Dữ liệu vào
Một dòng duy nhất chứa xâu chỉ gồm các ký tự b và w.
Dữ liệu ra
In ra một số nguyên duy nhất — độ dài lớn nhất của một đoạn xen kẽ có thể thu được.
Ràng buộc
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| bwwwbwwbw | 5 | Một dãy thao tác khả dĩ: bwwwbww|bw → w|wbwwwbwb → wbwbwwwbw. Đoạn wbwbw đầu xâu có độ dài 5. |
| bwwbwwb | 3 | Không thao tác nào làm tăng được kết quả. Đoạn dài nhất xen kẽ là bwb (độ dài 3). |
Bình luận