P1435 70求调
  • 板块题目总版
  • 楼主molakeser
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/7 11:11
  • 上次更新2024/10/7 13:17:41
查看原帖
P1435 70求调
1218138
molakeser楼主2024/10/7 11:11
#include <bits/stdc++.h>

using namespace std;
//#define int long long
const int N=1e4+5;
int len,dp[N][N];
char s1[N],s2[N];
signed main()
{
    cin>>s1;
    len=strlen(s1);
    for(int i=len-1; i>=0; i--)
    {
        s2[i]=s1[len-i-1];
    }
    if(s1[0]==s2[0])
        dp[0][0]=0;
    else
        dp[0][0]=1;
    for(int i=0; i<len; i++)
    {
        for(int j=0; j<len; j++)
        {
            if(s1[i]==s2[j])
                dp[i][j]=dp[max(i-1,0)][max(0,j-1)]+1;
            else
                dp[i][j]=max(dp[i][max(j-1,0)],dp[max(i-1,0)][j]);
        }
    }
    cout<<len-dp[len-1][len-1]+1;
    return 0;
}
2024/10/7 11:11
加载中...