2 条题解

  • 1
    @ 2025-10-27 17:53:38

    #include<bits/stdc++.h> #define ll long long #pragma GCC optimize(2) #define un unsigned #define int long long #define db double #define st string #define ct const #define xh(a,b,c) for(int a=b;a<=c;a++) #define wx while(1) #define dn(a,b,c) for(int a=b;a>=c;a--) using namespace std; int l,maxn=-1; string s; signed main(){ cin>>l>>s; xh(i,0,l-1){ int j=i+1; string str; xh(k,j,l-1)str+=s[k]; xh(k,0,i)str+=s[k]; int t1=-1,t2=l,ans=0; char a1='w',a2='w'; while((str[t1+1]a1||str[t1+1]'w'||a1=='w')&&t1+1<l){ t1++; ans++; if(a1=='w'&&str[t1]!='w')a1=str[t1]; } while((str[t2-1]a2||str[t2-1]'w'||a2=='w')&&t2-1>t1){ t2--; ans++; if(a2=='w'&&str[t2]!='w')a2=str[t2]; } maxn=max(maxn,ans); } cout<<maxn; return 0; } ``

    • 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
      标签
      (无)
      递交数
      190
      已通过
      68
      上传者