求改
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
int a[60][60];
int ans[120][60][60];
int main(int argc, char *argv[]) {
int m,n,tem;scanf("%d %d",&m,&n);
for (int i=1;i<=m;i++)
for (int j=1;j<=n;j++) scanf("%d",&a[i][j]);
for (int step=3;step<=m+n-1;step++)
for (int x1=1;x1<=n && x1<=step-1;x1++)
for (int x2=1;x2<=n && x2<=step-1 && x2<x1;x2++){
tem=max(ans[step-1][x1][x2],ans[step-1][x1-1][x2-1]);
tem=max(tem,ans[step-1][x1][x2-1]);
tem=max(tem,ans[step-1][x1-1][x2]);
ans[step][x1][x2]=tem+a[step-x1][x1]+a[step-x2][x2];
}
printf("%d",ans[m+n-1][n][n-1]);
}
有几个RE了