1040. Longest Symmetric String (25)

Posted 给杰瑞一块奶酪~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1040. Longest Symmetric String (25)相关的知识,希望对你有一定的参考价值。

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 <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <map>
using namespace std;
char s[1001];
int len,c = 1;
int counts(int a,int b)
{
    int i;
    for(i = 0;a - i >= 0 && b + i < len;i ++)
    {
        if(s[a - i] != s[b + i])break;
    }
    return i * 2;
}
int main()
{
    gets(s);
    len = strlen(s);
    for(int i = 0;i < len;i ++)
    {
        if(i && s[i] == s[i - 1])
        {
            c = max(c,counts(i - 1,i));

        }
        if(i && i + 1 < len && s[i - 1] == s[i + 1])
        {
            c = max(c,counts(i - 1,i + 1) + 1);
        }
    }
    cout<<c;
}

 

以上是关于1040. Longest Symmetric String (25)的主要内容,如果未能解决你的问题,请参考以下文章

PAT (Advanced Level) 1040. Longest Symmetric String (25)

PAT Advanced Level 1040. Longest Symmetric String (25)

1040 Longest Symmetric String 需再做

1040 Longest Symmetric String (25 分)难度: 一般 / 知识点: 最长回文子串

PAT 1040 Longest Symmetric String

PAT1040:Longest Symmetric String