CF1025C Plasticine zebra

题目描述

还有什么比在辛苦工作一周后去动物园更美好的事情吗?难怪 Grisha 也有同感,整个周末都在漂亮的斑马陪伴下度过。 受到这次冒险和偶然发现的一盒橡皮泥(表现为一串黑白相间的条纹)的启发,Grisha 现在想要选择若干连续的、颜色交替的条纹来制作一只斑马。我们称所选条纹的数量为斑马的长度。 在组装斑马之前,Grisha 可以进行如下操作 $0$ 次或多次:他可以在序列的某个位置将其分成两部分,然后分别将这两部分反转,再重新拼接起来。例如,如果 Grisha 拥有的条纹顺序是 "bwbbw"(其中 'b' 表示黑色条纹,'w' 表示白色条纹),他可以在 bw|bbw 处切开(竖线表示切割位置),分别反转两部分,得到 "wbwbb"。 请你求出 Grisha 能制作的斑马的最大可能长度。

输入格式

输入仅一行,包含一个字符串 $s$($1 \le |s| \le 10^5$,其中 $|s|$ 表示字符串 $s$ 的长度),仅由小写英文字母 'b' 和 'w' 组成,'w' 表示白色条纹,'b' 表示黑色条纹。

输出格式

输出一个整数,表示斑马的最大可能长度。

说明/提示

在第一个样例中,一种可能的操作序列为 bwwwbww|bw $\to$ w|wbwwwbwb $\to$ wbwbwwwbw,最终得到的答案为 $5$。 在第二个样例中,任何操作都无法增加答案。 由 ChatGPT 4.1 翻译