zoukankan      html  css  js  c++  java
  • pat 1040. Longest Symmetric String (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
    解:两重循环,第一重从第一个字符开始,第二重从最后一个开始,本来想优化下的,发现那就是我一直第6个测试样例不过的原因,当时改过来提交显示全部正确的时候简直想骂人,好的吧,思路很简单,常规思路,详情看代码。

    代码:

    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    int main()
    {
        string s;
        getline(cin,s);
        int len=s.length(),maxi=1;
        for(int i=0;i<len;i++)
        {
            for(int j=len-1;j>i;j--)
            {
                if(s[i]==s[j])
                {
                    int t1=i,t2=j;
                    do
                    {
                        t1++;
                        t2--;
                    } while(s[t1]==s[t2]&&t1<t2&&t1<j&&t2>i);
                    if((t1==t2||t1-t2==1)&&j-i+1>maxi)
                    {
                        maxi=j-i+1;
                    }
                    continue;
                }
            }
        }
        printf("%d
    ",maxi);
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    bbs与blog的区别
    论坛的一个大弱点,就是知识的无序化,这一点有时阻碍了论坛的长久发展,造成了集体智慧的流失。
    中国百科
    网上的意识流整理,
    商业模式是怎么练成的?
    无线电的共享
    超细分众
    关于wifi社区
    图像话讨论区
    关于桌面软件的功能
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965288.html
Copyright © 2011-2022 走看看