许诺 • 7天前
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;
} 我太难了
评论:
请先登录,才能进行评论