求助悬三关
查看原帖
求助悬三关
1073416
SuperMinecraft楼主2024/6/11 22:39
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e4;
const int INF=1e9;
string s;
int  n;
int a[MAXN];
int dp[MAXN][MAXN];
void init(){
	for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
    		dp[i][j]=INF;
		}
	}
    for(int i=1;i<=n;i++){
    	dp[i][i]=1;
	}
}
int main(){
    cin>>s;
    n=s.length();
    init();
    for(int i=2;i<=n;i++){
		for(int j=1;j<=n-i+1;j++){
			if(s[j-1]==s[i+j-2]){
				dp[j][i+j-1]=min(dp[j][i+j-2],dp[j+1][i+j-1]);
				continue;
			}
			for(int k=i;k<i+j-1;k++){
				dp[j][i+j-1]=min(dp[j][i+j-1],dp[j][k]+dp[k+1][i+j-1]);
			}
		}
	}
//	for(int i=1;i<=n;i++){
//		for(int j=1;j<=n;j++){
//			cout<<dp[i][j]<<" ";
//		}
//		cout<<endl;
//	}
	cout<<dp[1][n]<<endl;
    return 0;
}

只有10分... QWQQWQ 求助,帮帮孩子吧。 在线等 急)

2024/6/11 22:39
加载中...