奇怪的错误(一念之间)
查看原帖
奇怪的错误(一念之间)
909367
MA_tian楼主2023/11/12 23:26

......离谱的错误,不知道为什么,看代码输出行

#include<bits/stdc++.h>
using namespace std;
int main(){
	int f[55][55];
    string a;
    cin>>a;
    int n=a.size();
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(i==j){
                f[i][j]=1;
            }else{
                f[i][j]=11451419;
            }
        }
    }
    for(int len=2;len<=n;len++){
        for(int l=1;l<=n;l++){
            int r=len+l-1;
            if(r>n)break;
            if(a[l]==a[r]){
                f[l][r]=min(f[l+1][r],f[l][r-1]);
            }
            for(int k=l;k<r;k++){
                f[l][r]=min(f[l][r],f[l][k]+f[k+1][r]);
            }
        }
    }
    cout<<f[1][n]-1;//(-1就对4个点,不减对6个,而且正好反转)
    return 0;
}
2023/11/12 23:26
加载中...