救民于水火
x-hechengye
2022-08-11 16:17:04
14
返回题目
#include <iostream>
#include <algorithm>
using namespace std;
int f[52][52][52][52];
int a[52][52];
int main()
{
ios::sync_with_stdio(false);
int n,m;
int t,t2;
cin >> m >> n;
for (int i = 1; i <= m; ++i)
for (int j = 1; j <= n; ++j)
cin >> a[i][j];
for (int i = 1; i <= m; ++i)
{
for (int j = 1; j <= n; ++j)
{
for (int k = 1; k <= m; ++k)
{
for (int l = 1; l <= n; ++l)
{
t = max(f[i][j - 1][k - 1][l],f[i - 1][j][k][l - 1]);
t2 = max(f[i - 1][j][k - 1][l],f[i][j - 1][k][l - 1]);
f[i][j][k][l] = max(t,t2) + a[i][j] + a[k][l];
if (i == k && j == l)
f[i][j][k][l] -= a[i][j];
}
}
}
}
cout << f[m][n][m][n] << endl;
return 0;
}
{{ vote && vote.total.up }}