照着老师写的模板代码!为什么就是不对啊,真的和老师一模一样,求助急!
查看原帖
照着老师写的模板代码!为什么就是不对啊,真的和老师一模一样,求助急!
737737
collin楼主2023/7/20 15:53

跟老师一样的,老师过了,为啥我的样例都不对啊,真的快疯了,求助万能的洛谷!

#include <bits/stdc++.h>
using namespace std;
const int N=110;
string s;
int f[N][N];
bool check(int l,int r,int x){
    for(int i=l+x;i<=r;i++){
        if(s[i]!=s[i-x])
            return false;
    }
    return true;
}
int main()
{
    cin>>s;
    int n=s.size();
    s=" "+s;
    memset(f,0x3f,sizeof(f));
    for(int i=1;i<=n;i++)
        f[i][i]=1;
    for(int len=2;len<=n;len++){
        for(int i=1;i+len-1<=n;i++){
            int j=i+len-1;
            for(int k=i;k<j;k++)
                f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);
            for(int k=i;k<j;k++){
                int x=k-i+1;
                if(len%x)
                    continue;
                if(check(i,j,x)){
                    int t;
                    if(len/x<10)
                        t=1;
                    if(len/x<100)
                        t=2;
                    else
                        t=3;
                    f[i][j]=min(f[i][j],f[i][k]+2+t);
                }
            }
        }
    }
    cout<<f[1][n];
    return 0;
}
2023/7/20 15:53
加载中...