hdu 1544(求回文子串的个数)

来源:互联网 发布:python def的作用 编辑:程序博客网 时间:2024/06/10 16:52

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1544

思路:枚举中间点,分为奇数长度和偶数长度,然后向两边扩展就可以了,如果不相等,就直接跳出;

 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 #define MAXN 5005 6 char str[MAXN]; 7  8 int main(){ 9     while(~scanf("%s",&str)){10         int len=strlen(str),l,r;11         int ans=len;12         for(int i=0;i<len;i++){13             l=i-1,r=i+1;//奇数长度14             while(l>=0&&r<len&&str[l]==str[r]){15                 l--,r++;16                 ans++;17             }18             l=i,r=i+1;//偶数长度19             while(l>=0&&r<len&&str[l]==str[r]){20                 l--,r++;21                 ans++;22             }23         }24         printf("%d\n",ans);25     }26     return 0;27 }28             
View Code

 

0 0