51nod 1088 最长回文子串

来源:互联网 发布:数据库入门经典 编辑:程序博客网 时间:2024/05/17 15:59


回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。
输入一个字符串Str,输出Str里最长回文子串的长度。
Input
输入Str(Str的长度 <= 1000)
Output
输出最长回文子串的长度L。
Input示例
daabaac
Output示例
5


#include<bits/stdc++.h>using namespace std;char s[1111];int main(){int i,j,l,r,ans,len,t1,t2;cin>>s;len=strlen(s);ans=0;for(i=0;i<len;i++) {l=i;r=i;t1=t2=0;while(l-1>=0&&r+1<len&&s[--l]==s[++r]) t1++;t1=t1*2+1;l=i;r=i+1;while(l>=0&&r<len&&s[l]==s[r]) {t2++;l--;r++;}t2=t2*2;ans=max(ans,max(t1,t2));}cout<<ans<<endl;return 0;}





0 0
原创粉丝点击