回文字符串(NYOJ 37)
2014-11-15 01:00
211 查看
回文字符串
时间限制:3000 ms | 内存限制:65535 KB难度:4
描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。
输入第一行给出整数N(0<N<100)
接下来的N行,每行一个字符串,每个字符串长度不超过1000.
输出每行输出所需添加的最少字符数
样例输入
1 Ab3bd
样例输出
2
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
#define N 1001
char s1
,s2
;
int dp
;
int main()
{
//freopen("c.in","r",stdin);
int n;
cin>>n;
while(n--)
{
cin>>s1;
int len=strlen(s1);
int x=0;
for(int i=len-1;i>=0;i--)
s2[x++]=s1[i];
for(int i=1;i<=len;i++)
for(int j=1;j<=len;j++)
dp[i][j]=s1[i-1]==s2[j-1]?dp[i-1][j-1]+1:
(dp[i][j-1]>dp[i-1][j]?dp[i][j-1]:dp[i-1][j]);
cout<<len-dp[len][len]<<endl;
}
return 0;
}
相关文章推荐
- 【又见LCS】NYOJ-37 回文字符串
- NYOJ 37-回文字符串:编辑距离(动规)
- NYOJ 37-回文字符串:编辑距离(动规)
- 回文字符串(nyoj 37)
- NYOJ 37 回文字符串 (lcs最长公共子序列)
- nyoj 37 回文字符串
- NYOJ-37-回文字符串【LCS】
- nyoj 37 回文字符串(经典dp五)
- nyoj 37 回文字符串 【lcs&&dp】
- nyoj-37 回文字符串(最长公共子序列算法应用
- nyoj 37 回文字符串 【DP】
- NYOJ 37 回文字符串
- NYOJ 37 回文字符串
- nyoj_37 回文字符串
- NYOJ-37-回文字符串(最长公共子序列)
- NYOJ 37 回文字符串(记忆化搜索)
- nyoj 37 51nod oj 1092 回文字符串 【LCS变形】
- NYOJ-37 回文字符串 —— LCS变形
- NYOJ 37 回文字符串
- nyoj 36最长公共子序列&&nyoj 37 回文字符串