分析:这个题本质上可以看成是一个括号匹配题,因为当出现00和11的时候,毫无疑问是前一天看题,后一天写题,这样可以得到最大的得分10
将全部00和11删掉后,就是交替出现的01串了
代码如下:
#include <bits/stdc++.h> using namespace std; const int inf=1<<30; typedef long long ll; const double pi=acos(-1); const int mod=1e9+7; const int maxn=1010; string s; int a[1000001]; int main(){ cin>>s;int n=s.length(); int ans=0; int cnt=0; for(int i=0;i<n;i++){ if(i>0&&a[cnt]==s[i]){ cnt--;ans+=10; continue; } a[++cnt]=s[i]; } ans+=cnt/2*5; cout<<ans<<endl; return 0; }