```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
int[][] a = new int[m+1][n+1];
int[][][][] res = new int[52][52][52][52];
for(int i = 1;i<=m;i++){
for(int j = 1;j<=n;j++){
a[i][j] =sc.nextInt();
}
}
//dp
for(int x1 = 1;x1<=m;x1++){
for(int y1 = 1;y1<=n;y1++){
for(int x2 = 1;x2<=m;x2++){
for(int y2 = 1;y2<=n;y2++){
if((x1 < m || y1 < n) && x1 == x2 && y1 == y2){
continue;
}
res[x1][y1][x2][y2] = Math.max(Math.max(res[x1-1][y1][x2-1][y2],res[x1][y1-1][x2][y2-1]),Math.max(res[x1-1][y1][x2][y2-1],res[x1][y1-1][x2-1][y2])) + a[x1][y1] + a[x2][y2];
}
}
}
}
System.out.println(res[m][n][m][n]);
}
}
```
0.0分
0 人评分