RE求助
查看原帖
RE求助
332549
幽灵特工楼主2021/2/12 19:58
#include <bits/stdc++.h>
using namespace std;
int n=1;
char s[60];
int dp[60][60];
int main(){
	scanf("%s",s+1);
	n=strlen(s+1);
	for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)dp[i][j]=999999999;
	for(int i=1;i<=n;i++)dp[i][i]=1;
	for(int len=1;len<n;len++){
		for(int i=1;i<=n;i++){
			int j=i+len;
			if(s[i]==s[j])dp[i][j]=min(dp[i+1][j],dp[i][j-1]);
			else for(int k=i;k<=j;k++)dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]);
		}
	}
	cout<<dp[1][n];
}
2021/2/12 19:58
加载中...