许诺 • 2个月前
#include<bits/stdc++.h>
using namespace std;
int a[51][51];
int sum[51][51][51][51];
int n,i,j,h,k,x,y,z;
int main()
{
cin>>n>>x>>y>>z;
while(x && y && z)
{
a[x][y]=z;
cin>>x>>y>>z;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(h=1;h<=n;h++)
for(k=1;k<=n;k++)
{
int tmp1=max(sum[i-1][j][h-1][k],sum[i][j-1][h][k-1]);
int tmp2=max(sum[i-1][j][h][k-1],sum[i][j-1][h-1][k]);
sum[i][j][h][k]=max(tmp1,tmp2)+a[i][j];
if(i!=h && j!=k) sum[i][j][h][k]+=a[h][k];
}
cout<<sum[n][n][n][n];
return 0;
}
评论:
请先登录,才能进行评论