显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
int mapi[55][55], f[55][55][55][55];
int main()
{
freopen("message.in","r",stdin);
freopen("message.out","w",stdout);
int m,n;
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
scanf("%d",&mapi[i][j]);
for(int a=1;a<=m;a++)
for(int b=1;b<=n;b++)
for(int c=1;c<=m;c++)
for(int d=1;d<=n;d++)
if((a!=c&&b!=d)||(a==1&&b==1&&c==1&&d==1)||(a==m&&b==n&&c==m&&d==n))
f[a][b][c][d]=max(max(max(f[a-1][b][c-1][d],f[a][b-1][c-1][d]),f[a][b-1][c][d-1]),f[a-1][b][c][d-1])+mapi[a][b]+mapi[c][d];
printf("%d",f[m][n][m][n]);
return 0;
}