hihoCoder 1039 字符消除

来源:互联网 发布:php 手动gc 编辑:程序博客网 时间:2024/04/30 03:11



<pre name="code" class="cpp">#include <iostream>#include <cstdio>#include <string>#include <vector>#include <algorithm>using namespace std;string solve(const string& str){    int ll =str.size();    if(ll <= 1)        return str;    vector<char> v;    for(int i = 0; i < ll-1; i++){        if(str[i] == str[i+1]){            while(i+1 < ll && str[i] == str[i+1])                i++;        }        else            v.push_back(str[i]);    }    if(str[ll-2] != str[ll-1])        v.push_back(str[ll-1]);    return string (v.begin(),v.end());}int main(){    int T;    const string Insert="ABC";    scanf("%d",&T);    while(T--){        string str,tmp;        cin>>str;        int l = str.size();        int maxn = l,minn = l;        for(int i = 0; i < l; i++){            for(int j = 0;j < 3;j++){                tmp = str.substr(0,i+1) + Insert[j] + str.substr(i+1);                int len = tmp.size();                while(len > (tmp = solve(tmp)).size()){                    len = tmp.size();                }                minn = min(minn,len);            }        }        printf("%d\n",maxn - minn + 1);    }    return 0;}




0 0
原创粉丝点击