Nikita and string

来源:互联网 发布:肠道益生菌 知乎 编辑:程序博客网 时间:2024/05/21 04:41

http://codeforces.com/contest/877/problem/B

应该想到这一类题目,已知结果的模式,对模式进行枚举。

#include<bits/stdc++.h>using namespace std;int cnt[5005];int main(){    string s;    cin>>s;    memset(cnt,0,sizeof(cnt));    cnt[0]=0;    for(int i=0;i<s.size();i++)    {        cnt[i+1]=cnt[i];        if(s[i]=='b') cnt[i+1]++;    }    int ans=0;    for(int i=0;i<=s.size();i++)    {        for(int j=i;j<=s.size();j++)        {            int sum1=cnt[i];            int sum2=cnt[j]-cnt[i];            int sum3=cnt[s.size()]-cnt[j];          //  cout<<sum1<<' '<<sum2<<' '<<sum3<<endl;            int len=(i-sum1)+sum2+s.size()-j-sum3;            //if(len==3) system("pause");            ans=max(ans,len);        }    }    cout<<ans<<endl;}