比赛 清明时悲哀杯 评测结果 AAAAAA
题目名称 方格取数 最终得分 100
用户昵称 Menamovic 运行时间 0.011 s
代码语言 C++ 内存使用 26.13 MiB
提交时间 2017-03-31 19:12:21
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[51][51];
int sum[51][51][51][51];
int n,i,j,h,k,x,y,z;
int main()
{
	freopen("fgqs.in","r",stdin);
	freopen("fgqs.out","w",stdout);
	scanf("%d%d%d%d",&n,&x,&y,&z);
	while(x&&y&&z)
	{
		a[x][y]=z;
		scanf("%d%d%d",&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 s=max(sum[i-1][j][h-1][k],sum[i][j-1][h][k-1]);
	      	int t=max(sum[i-1][j][h][k-1],sum[i][j-1][h-1][k]);
	      	sum[i][j][h][k]=max(s,t)+a[i][j];
	      	if(i!=n&&j!=k) sum[i][j][h][k]+=a[h][k];
		  }
	printf("%d",sum[n][n][n][n]);
	return 0;
}