T3 1027 方格取数
作者:
奈绪我老婆
,
2024-12-02 20:31:56
,
所有人可见
,
阅读 13
#include<bits/stdc++.h>
using namespace std;
int a[11][11];
int f[22][11][11];
int n;
int main()
{
cin>>n;
int x,y,z;
while(cin>>x>>y>>z,x||y||z)a[x][y]=z;
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>0&&j1<=n&&j2>0&&j2<=n)
{
int t=a[i1][j1];
if(i1!=i2)t+=a[i2][j2];
int &x=f[k][i1][i2];
x=max(x,f[k-1][i1][i2]+t);
x=max(x,f[k-1][i1][i2-1]+t);
x=max(x,f[k-1][i1-1][i2]+t);
x=max(x,f[k-1][i1-1][i2-1]+t);
}
}
cout<<f[n+n][n][n];
}