大家能看出来下面的这段代码在求什么嘛?或者就是不知道求什么很莫名其妙的一个程序???
#include<bits/stdc++.h>
using namespace std;
int dp[502][502];
int main()
{
string s;
cin>>s;
for(int j=0;j<=s.size();j++)
{
for(int i=0;i<s.size()-j;i++)
{
dp[i][i+j]=dp[i+1][i+j]+1;
for(int k=i+1;k<=i+j;k++)
{
if(s[k]==s[i])
{
dp[i][i+j]=min(dp[i][i+j],dp[i+1][k-1]+dp[k+1][i+j]);
}
}
}
}
cout<<dp[0][s.size()-1]<<endl;
return 0;
}