码迷,mamicode.com
首页 > 其他好文 > 详细

1040. Longest Symmetric String (25)

时间:2017-12-14 14:56:27      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:one   iostream   content   ++   namespace   using   strong   longest   color   

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)

标签:one   iostream   content   ++   namespace   using   strong   longest   color   

原文地址:http://www.cnblogs.com/8023spz/p/8037458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!