1040 Longest Symmetric String 非DP和DP两种

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

我自己的思路很简单,a从0开始,b从末尾开始,每次判断a和b之间能否构成回文串,如果能,就保存下来长度,以便下一次比较大小

#include 

using namespace std;

int panduan(string str,int a,int b){
    int panduan=1;
    while(aa;b--){
            if(str.at(a)==str.at(b)){
                int get=panduan(str,a,b);
                if(get==1){
                    if(b-a>maxLenth){
                        maxLenth=b-a;
                        cacheA=a;
                        cacheB=b;
                    }
                }
            }
        }
    }
    cout<

但这题肯定是想让你用dp的, 额,我这个菜鸡还是膜拜下柳神的博客吧。地址如下

https://www.liuchuo.net/archives/2104

你可能感兴趣的:(算法)