50分 求助 玄关
查看原帖
50分 求助 玄关
959024
CQ天神楼主2024/7/17 16:05
#include <bits/stdc++.h>
using namespace std;
int main(){
	string a,b;
	cin>>a;
	for(int i=0;i<a.length()-1;i++){
		b.push_back(a[a.length()-i+1]);
	}
	int dp[a.length()+1][b.length()+1];
	for(int i=0;i<a.length()+1;i++){
		for(int j=0;j<b.length()+1;j++){
			dp[i][j]=0;
		}
	}
	for(int i=1;i<=a.length();i++){
		for(int j=1;j<=b.length();j++){
			if(a[i]==b[j]){
				dp[i][j]=dp[i-1][j-1]+1;
			}
			else{
				dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
			}
		}
	}
	cout<<a.length()-dp[a.length()][b.length()]+1;
	return 0;
} 
2024/7/17 16:05
加载中...