样例过不去?
查看原帖
样例过不去?
560112
__Alexander__楼主2024/6/13 19:06
#include<bits/stdc++.h>
using namespace std;
string s;
int f[51][51];
int main(){
    getline(cin,s);
    for (int i=s.size();i>0;i--){
        s[i]=s[i-1];
    }
    int lens=s.size();
    memset(f,0x3f3f3f,sizeof(f));
    for (int i=1;i<=lens;i++){
        f[i][i]=1;
    }
    for (int i=1;i<=lens;i++){
        for (int j=i+1;j<=lens;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][k]+f[k+1][j],f[i][j]);
                }
            }
        }
    }
    cout<<f[1][lens]<<endl;
    return 0;
}
2024/6/13 19:06
加载中...