问题 22182 --取珠子

22182: 取珠子

时间限制: 1 Sec  内存限制: 128 MB
提交: 2  解决: 2
[提交][状态][讨论版][命题人:]

题目描述

 

味味妈妈有一串珠子串成的项链,这个项链中的珠子最多有3种颜色(红、蓝、白,分别用rbw表示)。某天,味味想从妈妈项链中取出一些珠子来玩,妈妈虽然答应了,但提出了以下条件:

1)只能在项链中选择一个地方剪断,然后从断开的两端开始依次取出珠子;

2)每一端取珠子时,如果珠子颜色与该端第一颗珠子颜色相同则可以连续取下去,直到出现一颗与该端第一颗颜色不同的珠子。如果遇到白色珠子则可根据需要看做蓝色或者红色。

 

味味对于颜色并没有特殊要求,但她想得到尽可能多的珠子。

为方便表示,我们给项链中的珠子按顺时针方向编号,如图-1和图-2所示为两种可能的项链情况(珠子都有11颗)。

对于图-1来说,如果在12号珠子之间剪断,则味味可以取到共2颗珠子。而如果在67号珠子之间剪断,则味味可以取到共5颗珠子(左边取3颗红色r,右边取2颗蓝色b),而5颗珠子也是味味从这串项链中最多可以取到的珠子数量。

对于图-2中的项链来说,如果在12号珠子之间剪断,则共可取走4颗珠子(将1号珠子当做蓝色,这样左边可取3颗,右边可取1颗蓝色b)。而如果在23号之间剪断,则共可取走6颗珠子(将1号珠子当做蓝色,这样左边可取4颗蓝色b,右边可取2颗红色r)。

 

输入

 

共包含二行。第一行一个整数n,表示项链中珠子的总数。第二行为一串长度为n的字符,由字符rbw组成。表示项链从某个珠子开始按顺时针方向展开的珠子排列情况(当然,这个珠子并不一定是味味实际需要剪断的位置)。

输出

 

仅包含一行一个数值,表示按照妈妈的规则,味味最多能得到的珠子数量。

 

 

样例输入

11
wbrrbbwbrbb

样例输出

6

【输入输出样例1解释】假设输入字符串中第一个字符表示1号珠子
将1号珠子看成蓝色,则在2和3号珠子之间剪断,味味可得到的6颗珠子编号分别为1、2、3、4、10、11;也可在4和5号珠子间剪断,将7号珠子看成蓝色,则味味可得到珠子的编号为3、4、5、6、7、8。

提示

 


【数据范围】



对于60%的数据  3n100



对于 100%的数据  3n350

来源

 

[提交][状态]