@[pengzijun](/user/556362) USACO 的题的前几组数据就是样例,不需要大惊小怪~
by wsyhb @ 2021-09-17 23:20:46
@[wsyhb](/user/145355) 不是,我的意思是我测试点下载过了,但加上去不行。
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,ans=1,sum,sum1;
string s;
bool p;
int main(){
scanf("%d",&n);
cin>>s;
s+=s+s;
for(int i=0;i<n;i++)
for(int j=i;j<i+n;){
sum=sum1=1;
p=(s[j]=='w');
while(sum<=n&&(s[j-sum]=='w'||s[j]==s[j-sum]||s[j]=='w')){
if(s[j]=='w')
s[j]=s[j-sum];
sum++;
}
if(p)
s[j]='w';
j++;
p=(s[j]=='w');
while(sum1<=n&&(s[j+sum1]=='w'||s[j]==s[j+sum1]||s[j]=='w')){
if(s[j]=='w')
s[j]=s[j+sum1];
sum1++;
}
ans=max(sum1+sum,ans);
}
printf("%d\n",min(ans,n));
return 0;
}
```
by qwq___qaq @ 2021-09-17 23:22:01
@[pengzijun](/user/556362) 数组越界
```cpp
while(sum<=n&&(s[j-sum]=='w'||s[j]==s[j-sum]||s[j]=='w')){
if(s[j]=='w')
s[j]=s[j-sum];
sum++;
}
```
改成
```cpp
while(sum<=j ……
```
即可
by Areka6219 @ 2021-09-18 06:52:24
@[Areka6219](/user/383204) STO 阿热卡da♂lao
by aleph_blanc @ 2021-09-18 06:54:17
@[Areka6219](/user/383204) 谢谢
by qwq___qaq @ 2021-09-18 12:59:02