暴力模拟运行错误
查看原帖
暴力模拟运行错误
865793
better_Z楼主2023/12/31 15:12
#include<iostream>
#include<cmath>
#define maxn 350
using namespace std;
char a[2*maxn+20],c;
int ans,cnt,themax,cntt,n,l,r;
int main(){
    cin>>n;
    while(cin>>c)a[++cnt]=c;
    for(int i=cnt+1;i<=cnt*2;i++)a[i]=a[i-cnt];
    bool flag[cnt*2+20]={0};
    for(int i=cnt+1;i<=cnt*2;i++){
        cntt=0;
        flag[i-cnt]=1;
        if(i==cnt*2){
            l=r=0;
            for(int j=1;j<cnt-1;j++)
                if(a[j]!=a[j+1]&&a[j++]!='w'&&a[j]!='w')break;
                else cnt++,l++;
            for(int j=cnt-1;j>cnt+1;j--){
                if(l+r==cnt-1)break;
                if(a[j]!=a[j--]&&a[j-1]!='w'&&a[j]!='w')break;
                else cnt++,r++;
            }
            themax=max(themax,cntt);
        }
        else{
            l=r=0;
            for(int j=i+1;j<=cnt*2-1;j++)
                if(a[j]!=a[j+1]&&a[j++]!='w'&&a[j]!='w')break;
                else cnt++,l++;
            for(int j=1;j<i-cnt-1;j++){
                if(l+r==cnt-1)break;
                if(a[j]!=a[j++]&&a[j++]!='w'&&a[j]!='w')break;
                else cnt++,r++;
            }
            themax=max(themax,cntt);
        }
    }
    cout<<themax;
    return 0;
}
2023/12/31 15:12
加载中...