评测记录
code:
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int a[65][65];
int poi[130][65][65];
int m, n;
int main() {
scanf("%d%d", &m, &n);
memset(poi, -1, sizeof(poi));
for (int i = 1; i <= m; i++)
for (int j = 1; j <= n; j++) scanf("%d", &a[i][j]);
poi[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 = poi[k][i][j];
if (poi[k - 1][i][j] > s) s = poi[k - 1][i][j];
if (poi[k - 1][i - 1][j] > s) s = poi[k - 1][i - 1][j];
if (poi[k - 1][i][j - 1] > s) s = poi[k - 1][i][j - 1];
if (poi[k - 1][i - 1][j - 1] > s) s = poi[k - 1][i - 1][j - 1];
if (s == -1) continue;
poi[k][i][j] = s + a[k - i][i] + a[k - j][j];
}
printf("%d", poi[m + n - 1][n - 1][n]);
return 0;
}
求助 谢谢谢谢