求助
查看原帖
求助
1329865
Kaito_Shinichi楼主2024/8/20 09:38

有木有大神可以帮我看看,我好似缺了什么``` #include

#include

#include

#include

using namespace std;

const int maxn=60;

int a[maxn][maxn];

int F[2*maxn][maxn][maxn];

int main() {

int m,n;

scanf("%d%d",&m,&n);

for(int i=1;i<=m;i++)

for(int j=1;j<=n;j++)

  scanf("%d",&a[i][j]);
  

memset(F,-1,sizeof(F));

F[2][1][1]=0;

for(int k=3;k<m+n;k++)

for(int i=1;i<n;i++)

  for(int j=i+1;j<=n;j++)
  {
    int s=F[k][i][j];
    if(F[k-1][i][j]>s)s=F[k-1][i][j];
    if(F[k-1][i-1][j]>s)s=F[k-1][i-1][j];
    if(F[k-1][i][j-1]>s)s=F[k-1][i][j-1];
    if(F[k-1][i-1][j-1]>s)s=F[k-1][i-1][j-1];
    F[k][i][j]=s+a[k-i][i]+a[k-j][j];
  }

printf("%d",F[m+n-1][n-1][n]); return 0; }

2024/8/20 09:38
加载中...