PAT(甲级)1040

来源:互联网 发布:网络覆盖解决方案 编辑:程序博客网 时间:2024/06/01 08:25

1040. Longest Symmetric String (25)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue

Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given "Is PAT&TAP symmetric?", the longest symmetric sub-string is "s PAT&TAP s", hence you must output 11.

Input Specification:

Each input file contains one test case which gives a non-empty string of length no more than 1000.

Output Specification:

For each test case, simply print the maximum length in a line.

Sample Input:
Is PAT&TAP symmetric?
Sample Output:

11

#include <stdio.h>#include <string.h>#define MAX 1003char str[MAX];int main(){gets(str);int length = strlen(str);int cnt1=0;int cnt2=0;int i,j;int tmp;for(i=0;i<length;i++){for(j=0;i-j>=0&&j+i<length;j++){if(str[i-j] != str[i+j])    break;else{tmp =2*j+1;if(cnt1 < tmp)    cnt1 = tmp;}}for(j=0;i-j>=0&&i+1+j<length;j++){if(str[i-j] != str[i+j+1])     break;else{tmp = 2*j+2;if(cnt2 <tmp)    cnt2 = tmp;}}}if(cnt1 <cnt2)    cnt1 =cnt2;printf("%d\n",cnt1);return 0;}


0 0
原创粉丝点击