hihocoder#1039
阿新 • • 發佈:2018-03-30
ins har BE pac main ans CP ace ++
#include <iostream> #include <string> #include <vector> #include<cstring> using namespace std; string del(string &s){ vector<char> vt; vt.push_back(s[0]); for(int i=1;i<s.size()-1;i++){ int pre=i-1; while(s[i+1]==s[i])i++; //有連續的好幾個字符,則不做任何處理 if(i-1==pre) // 單獨的一個字符,則push進去 vt.push_back(s[i]); } return string(vt.begin(), vt.end()); } int main(){ int t;scanf("%d",&t); while(t--){ string str; cin>>str; str="#"+str+"#";int ans=0; char c[4]="ABC"; for(int i=1;i<str.size();i++){ for(int k=0;k<3;k++){ string s(str); // memcpy(s,str,strlen(str));?_? s.insert(i,1,c[k]); int len=s.size(); while(true){ s=del(s)+"$"; if(s.size()<len) len=s.size(); else break; } if(ans<(str.size()-s.size()+1))ans=str.size()-s.size()+1; } } printf("%d\n",ans); } return 0; }
hihocoder#1039