您的位置:首页 > 其它

poj 1159 Palindrome(dp)

2013-10-28 21:32 489 查看
题目:http://poj.org/problem?id=1159

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;

int mmin(int a,int b)
{
return a>b?b:a;
}
short int d[5010][5010];
int main()
{
int n,i,j;
char s[5010];
memset(d,0,sizeof(d));
cin>>n;
for(i=1; i<=n; i++)
cin>>s[i];
for(i=n; i>=1; i--)
for(j=i+1; j<=n; j++)
if(s[i]==s[j])
d[i][j]=d[i+1][j-1];
else
d[i][j]=mmin(d[i+1][j],d[i][j-1])+1;

cout<<d[1]
<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: