P1006神奇问题RE0分(数组够大)
查看原帖
P1006神奇问题RE0分(数组够大)
921450
Szy0720楼主2024/10/7 20:20

呈上代码:

#include<bits/stdc++.h>
using namespace std;
const int N=2000;
int a[N][N],dp[2*N][N][N],m,n;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            cin>>a[i][j];
    memset(dp,-1,sizeof(dp));
    dp[2][1][1]=0;
    for(int k=3;k<m+n;k++)
        for(int i=1;i<m;i++)
            for(int j=i+1;j<=m;j++){
                int b=max(dp[k][i][j],max(dp[k-1][i][j],max(dp[k-1][i-1][j],max(dp[k-1][i][j-1],dp[k-1][i-1][j-1]))));
                if(b==-1)continue; 
                dp[k][i][j]=b+a[k-i][i]+a[k-j][j];
            }
    cout<<dp[m+n-1][m-1][m]<<endl;
    return 0;
}

本地样例可以过,但洛谷就是过不去,炸了已经QAQ

2024/10/7 20:20
加载中...