Ngựa vằn dẻo

Đề bài

Mô tả

Cho một xâu s 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 wbwbb, 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 s chỉ gồm các ký tự bw.

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

  • 1|s|105.

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

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0