#include<bits/stdc++.h>
using namespace std;
int m,n,mapp[100][100],ans[60][60][60][60];
void process(){
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=m;k++){
for(int l=j+1;l<=n;l++){
ans[i][j][k][l]=max(ans[i-1][j][k-1][l],max(ans[i-1][j][k][l-1],max(ans[i][j-1][k-1][l],ans[i][j-1][k][l-1])))+mapp[i][j]+mapp[k][l];
if(i==k&&j==l) ans[i][j][k][l]-=mapp[i][j];
}
}
}
}
}
int main (){
cin>>m>>n;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>mapp[i][j];
}
}
process();
cout<<ans[n][m-1][n-1][m];
}
蒟蒻的4,6,8,9测试点错了,60分,大佬们有什么办法吗xwx