#include <bits/stdc++.h>
using namespace std;
int dp[1010][1010];
int main()
{
int i,j;
string str;
while(cin>>str)
{
for(i=0;i<str.length();i++)
dp[i][i]=0;
for(i=0;i<str.length()-1;i++)
{
if(str[i]==str[i+1])
dp[i][i+1]=0;
else
dp[i][i+1]=1;
}
for(i=1;i<str.length();i++)
{
for(j=0;j<str.length()-i;j++)
{
if(str[j]==str[j+i])
dp[j][j+i]=dp[j+1][j+i-1];
else
dp[j][j+i]=min(dp[j+1][j+i],dp[j][j+i-1])+1;
}
}
printf("%d\n",dp[0][str.length()-1]);
}
}
51nod 1092 回文字符串
最新推荐文章于 2021-08-25 10:10:19 发布