比赛 4043级NOIP2022欢乐赛5th 评测结果 AAAAAAAAAA
题目名称 涂色 最终得分 100
用户昵称 nick 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-11-14 21:11:06
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
string s;
int f[52][52];
int main() {
	freopen("tuse.in","r",stdin);
	freopen("tuse.out","w",stdout);
	int n;
	cin>>s;
	n=s.length()-1;
	memset(f,0x7F,sizeof(f));
	for(int i=0;i<=n;++i)
		f[i][i]=1;
	for(int l=1;l<=n;++l) 
		for(int i=0,j=0+l;j<=n;++i,++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[0][n]<<endl;
	return 0;
}