1 条题解
-
0
#include<bits/stdc++.h> using namespace std; char s[800], ys[150]; int main() { int n;scanf("%d%s", &n, s); int ans=0; for(int i=0;i<n;i++)s[i+n]=s[i]; ys['b']=1;ys['r']=2;ys['w']=3; for(int st=0;st<n;st++) { int ed=st+n-1; int s1=1, s2=1; int ok=ys[s[st]]; for(int i=st+1;i<=ed;i++) { if(ys[s[i]]==3)s1++; else { if(ok==3){ok=ys[s[i]];s1++;} else { if(ok==ys[s[i]])s1++; else break; } } } ok=ys[s[ed]]; for(int i=ed-1;i>=st;i--) { if(ys[s[i]]==3)s2++; else { if(ok==3){ok=ys[s[i]];s2++;} else { if(ok==ys[s[i]])s2++; else break; } } } ans=max(ans, s1+s2); } printf("%d\n", min(ans, n)); return 0; }
- 1
信息
- ID
- 982
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 93
- 已通过
- 35
- 上传者