1 条题解

  • 0
    @ 2025-7-13 8:58:57

    #include<bits/stdc++.h> using namespace std; string a; int n,ans=-1; int count(int x) { int l=0,r=0; char lc=a[x],rc=a[x+1]; int i=x; while(i>=0&&(a[i]lc||a[i]'w')) l++,i--; i=x+1; while(i<n*3&&(a[i]rc||a[i]'w')) r++,i++; return l+r;

    } int main() { cin>>n; cin>>a; a=a+a+a; for(int i=n;i<n*2;i++) { if(a[i]a[i+1]) continue; if(a[i]'w') { a[i]='r'; ans=max(ans,count(i)); a[i]='b'; ans=max(ans,count(i)); a[i]='w'; } else ans=max(ans,count(i)); } ans=min(ans,n); if(ans<0)ans=n; cout<<ans<<endl; return 0; }

    • 1

    信息

    ID
    543
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    (无)
    递交数
    189
    已通过
    67
    上传者