0分,求助
查看原帖
0分,求助
406201
liaodong0812楼主2020/11/1 19:36
#include<iostream>
#include<cstring>
using namespace std;
string s;
int f[101][101];
int main() {
	int n; 
	cin>>s;
	n=s.length() ;
	memset(f,1000000,sizeof(f));		
	for(int i=1;i<=n;++i)
		f[i][i]=1;
	for(int i=n-1;i>=0;i--) 
		for(int j=i-1;j<=n;++j) {
			if(s[i]==s[j])
				f[i][j]=min(f[i+1][j],f[i][j-1]);
			else
				for(int k=i;k<j;++k)
					f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);
		}
	cout<<f[1][n];
	return 0;
}
2020/11/1 19:36
加载中...