沧海一声喵 2018-02-25 18:38:17
点我顶贴
收藏
删除
#include <cstdio>
using namespace std;
int main(){
int i,k,n,max=0,l,r;
char s[1500],lc,rc;
scanf("%d%s",&n,s);
for(i=0;i<n;i++) s[i+2*n]=s[i+n]=s[i];
for(k=n;k<2*n;k++){
for(l=k-1;l>=k-n;l--)//确定左颜色
if(s[l]!='w'){
lc=s[l];break;}
for(r=k;r<=k+n;r++)//确定右颜色
if(s[r]!='w'){
rc=s[r];break;}
if(r-l>=n){//全是'W'
max=n;break;}
for(r=k;r<k+n;){
if(s[r+1]=='w'||s[r+1]==rc) r++;
else break;}
for(l=k-1;l>k-n;){
if(s[l-1]=='w'||s[l-1]==lc) l--;
else break;}
if(r-l+1>max) max=r-l+1;}
if(max>n) max=n;
printf("%d",max);
return 0;}