https://www.luogu.com.cn/problem/P1004
code:
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,x,y,z,a[15][15],dp[15][15][15][15];
int MAX(int a,int b,int c,int d)
{
return max(a,max(b,max(c,d)));
}
signed main()
{
cin>>n;
for(;;)
{
cin>>x>>y>>z;
if(x==0&&y==0&&z==0)break;
a[x][y]=z;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
for(int l=j+1;l<=n;l++)
dp[i][j][k][l]=MAX(dp[i-1][j][k-1][l],dp[i-1][j][k][l-1],dp[i][j-1][k-1][l],dp[i][j-1][k][l-1])+a[i][j]+a[k][l];
cout<<dp[n][n-1][n-1][n];
return 0;
}