信息
- ID
- 6
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 48
- 已通过
- 8
- 上传者
比较菜,多指教
#include <iostream>
using namespace std;
char s[710];//存放项链
int n=0;//项链长度
int dtmcol(char c)//判断颜色
{
if(c=='b') return 1;
else return 2;
}
int main() {
int ans=0;
cin>>n>>s;//输入项链长度和项链
for(int i=0;i<n;i++) s[i+n]=s[i];//将项链变为2*n长度来处理环
for(int i=0;i<n;i++)
{
int l=i,r=i+n-1;
int cnt=0,left=0,right=0;//cnt==count
while(l<=r&& (s[l]=='w'||(left|dtmcol(s[l]))!=3))//向左枚举
{
if(s[l]!='w') left|=dtmcol(s[l]);
cnt++,l++;
}
while(l<=r&& (s[r]=='w'||(right|dtmcol(s[r]))!=3))//向右枚举
{
if(s[l]!='w') right|=dtmcol(s[r]);
cnt++,r--;
}
ans=ans>cnt?ans:cnt;//比较大小
}
cout<<ans;//输出答案
return 0;
}