uva 11151

来源:互联网 发布:php求素数 编辑:程序博客网 时间:2024/05/22 04:28

求最长回文串  就是将字符串翻转后求最长公子列.....

#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>using namespace std;char str[1010];char re[1010];int f[1010][1010];int main(){    int t;    scanf("%d",&t);    getchar();    while (t--)    {        gets(str);        int len = strlen(str);        for (int i = 0; i < len; ++i)            re[len-i-1] = str[i];        memset(f, 0, sizeof(f));        for (int i = 1 ; i <= len ; ++i)            for (int j = 1 ; j <= len ; ++j)                if (str[i-1] == re[j-1])                    f[i][j] = f[i-1][j-1]+1;                else                    f[i][j] = max(f[i][j-1], f[i-1][j]);        printf("%d\n",f[len][len]);    }    return 0;}


原创粉丝点击