南阳 132 最长回文子串
2014-01-06 22:38
204 查看
#include <stdio.h> #include <string.h> #include <ctype.h> char str[5010]; int pos[5010]; char ch[5010]; int main() { int i,j,k; int T; int len; int max; int from,to; scanf("%d%*c",&T); //getchar(); while(T--) { memset(str,0,sizeof(str)); memset(pos,0,sizeof(pos)); memset(ch,0,sizeof(ch)); //gets gets(str); len = strlen(str); j = 0; for(i=0; i<len; i++) { if(isalpha(str[i])) { ch[j] = toupper(str[i]); pos[j++] = i; } } len = j; j = 0; max = -1; for(i=0; i<len; i++) { //奇数 for(j=0; i+j<len&&i-j>=0; j++) { if(ch[i-j]!=ch[i+j]) break; if(2*j+1>max) { max = 2*j+1; from = i-j; to = i+j; } } //偶数 for(j=0; i+j+1<len&&i-j>=0; j++) { if(ch[i-j]!=ch[i+j+1]) break; if(2*j+2>max) { max = 2*j+2; from = i-j; to = i+j+1; } } } for(i=pos[from]; i<=pos[to]; i++) { putchar(str[i]); } putchar('\n'); } return 0; }
相关文章推荐
- NYOJ132 最长回文子串
- NYOJ 132(最长回文子串)
- 【ACM】nyoj_132_最长回文子串_201308151713
- nyoj-132-最长回文子串
- NYOJ-132-最长回文子串-2013年08月12日21:49:03
- NYOJ-132 最长回文子串
- Manacher马拉车算法求最长回文子串
- ] 找工作知识储备(2)---数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- (HDU)3068 - 最长回文子串【模版】
- 最长回文子串求解
- 最长回文子串
- 最长回文子串
- Ural1297 最长回文子串(后缀数组+RMQ)
- hdu3068 hihocoder 1032 最长回文子串 马拉车算法
- 最长回文子串
- 求解最长回文子串 Manacher算法 之 POJ 3974
- CSU 1328 近似回文词(最长回文子串变形)
- Manacher's ALGORITHM: O(n)时间求字符串的最长回文子串
- 算法:最长回文子串长度
- Manacher算法求最长回文子串