題目:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yNwYzM5I2N5cTN3cTZhhjNzYzXxMjNwUTM3AzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
#include <bits/stdc++.h>
using namespace std;
int a[20][20];
int f[40][20][20];
int main()
{
int n;
cin>>n;
while(1)
{
int u,v,w;
cin>>u>>v>>w;
if(u==0&&v==0&&w==0) break;
a[u][v]=w;
}
for(int k=2;k<=2*n;k++)
{
for(int i1=1;i1<=n;i1++)
{
for(int i2=1;i2<=n;i2++)
{
int j1=k-i1,j2=k-i2;
if(j1<=n&&j1>=1&&j2<=n&&j2>=1)
{
int c=a[i1][j1];
if(i1!=i2) c+=a[i2][j2];
f[k][i1][i2]=max(f[k][i1][i2],f[k-1][i1-1][i2-1]+c);
f[k][i1][i2]=max(f[k][i1][i2],f[k-1][i1][i2-1]+c);
f[k][i1][i2]=max(f[k][i1][i2],f[k-1][i1-1][i2]+c);
f[k][i1][i2]=max(f[k][i1][i2],f[k-1][i1][i2]+c);
}
}
}
}
cout<<f[2*n][n][n]<<endl;
return 0;
}