uva 10739 dp

时间:2023-03-09 03:04:13
uva 10739 dp

https://vjudge.net/problem/UVA-10739

和昨天的那个回文串几乎一样只是加了条件限制,可以随意增删以及替换。

 #include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<stack>
using namespace std;
#define inf 0x3f3f3f3f
int f[][];
char s[];
int main()
{
int N=,M,i,j,k,t;
cin>>t;
for(int xx=;xx<=t;++xx)
{
cin>>(s+);
int n=strlen(s+);
memset(f,,sizeof(f));
for(int len=;len<=n;++len)
{
for(i=,j=len;j<=n;++i,++j)
{
f[i][j]=inf;
if(s[i]==s[j]) f[i][j]=f[i+][j-];
f[i][j]=min(f[i][j],min(min(f[i][j-]+,f[i+][j]+),f[i+][j-]+));
}
}
printf("Case %d: %d\n",xx,f[][n]);
}
return ;
}