#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int getCipherMaxLen(string s);
int main(){
string ciper;
while(cin>>ciper){
int maxLen = getCipherMaxLen(ciper);
cout<<maxLen<<endl;
//cout<<"-------------------------------"<<endl;
}
return 0;
}
int getCipherMaxLen(string s){
int maxlen = 0;
int len = s.length();
if(len == 1) return 1;
if(len == 2 && s[0] == s[1]) return 2;
//迴文
for(int i = 1; i < len - 1; i++){
int n = 1;
int j = i-1, k = i+1;
while(j>= 0 && k <=len-1){
if(s[j] == s[k]){
n = n + 2;
//cout<<"j = "<<j<<" s[j] = "<<s[j]<<". k = "<<k<<" s[k] = "<<s[k]<<endl;
j--;
k++;
}
else break;
}
maxlen = max(n, maxlen);
}
//cout<<endl;
if(len > 3){
for(int i = 1; i < len - 1; i++){
int n = 0;
int j = i + 1;
int k = i;
while(k >= 0 && j <= len-1){
if(s[k] == s[j]){
n = n + 2;
//cout<<"k = "<<k<<" s[k] = "<<s[k]<<". j = "<<j<<" s[j] = "<<s[j]<< endl;
k--;
j++;
}
else break;
}
maxlen = max(n, maxlen);
}
}
return maxlen;
}
字符串運用—密碼截取
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.