#include<iostream>
using namespace std;
int map[11][11], dp[11][11][11][11];
int main()
{
int n, x, y, m;
cin >> n;
while (1)
{
cin >> x >> y >> m;
if (x == 0 && y == 0 && m == 0) break;
map[x][y] = m;
}
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
for (int k = 1; k <= n; k++)
for (int l = 1; l <= n; l++)
{
int t = 0;
if (t < dp[i - 1][j][k - 1][l]) t = dp[i - 1][j][k - 1][l];
if (t < dp[i][j - 1][k - 1][l]) t = dp[i][j - 1][k - 1][l];
if (t < dp[i - 1][j][k][l - 1]) t = dp[i - 1][j][k][l - 1];
if (t < dp[i][j - 1][k][l - 1]) t = dp[i][j - 1][k][l - 1];
if (i == k && j == l)
dp[i][j][k][l] = t + map[i][j];
else dp[i][j][k][l] = t + map[i][j] + map[k][l];
}
cout << dp[n][n][n][n] << endl;
}
12-04
05-22
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交