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 翻译