求助
查看原帖
求助
865793
better_Z楼主2023/12/30 21:53
#include<iostream>
#include<cmath>
#define maxn 350
using namespace std;
char a[2*maxn+20];int ans,cnt,themax,cntt,n;
int main(){
    cin>>n;
    char c;
    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){
            for(int j=1;!flag[j];j++)
                if(a[j++]==a[j]||a[j++]=='w')cntt++;
            for(int j=cnt-1;!flag[j];j--)
                if(a[j--]==a[j]||a[j--]=='w')cntt++;
            themax=max(themax,cntt);
        }
        else{
            for(int j=i+1;j<=cnt*2;j++)
                if(a[j++]==a[j]||a[j++]=='w')cntt++;
            for(int j=i-cnt;!flag[j];j++)
                if(a[j++]==a[j]||a[j++]=='w')cntt++;
            themax=max(themax,cntt);
        }
    }
    cout<<themax;
    return 0;
}
2023/12/30 21:53
加载中...