记录编号 516319 评测结果 AAAAAA
题目名称 [NOIP 2000]方格取数 最终得分 100
用户昵称 GravatarHale 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2018-10-24 20:18:06 内存使用 0.39 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int f[12][12][12][12],a[12][12];
int m,n,k;
int main()
{ freopen("fgqs.in","r",stdin);
  freopen("fgqs.out","w",stdout);
  scanf("%d",&n);
  while (true)
  { int x,y,z;
    scanf("%d%d%d",&x,&y,&z);
    if(!x&&!y&&!z) break;
	a[x][y]=z; 
  }
  for (int i=1;i<=n;i++)
   for (int j=1;j<=n;j++)
    for (int k=1;k<=n;k++)
     for (int p=1;p<=n;p++)
    { f[i][j][k][p]=max(max(f[i-1][j][k][p-1],f[i-1][j][k-1][p]),max(f[i][j-1][k][p-1],f[i][j-1][k-1][p]));
      if (i==k&&j==p) f[i][j][k][p]+=a[i][j];
      else f[i][j][k][p]+=a[i][j]+a[k][p];
	}
	printf("%d",f[n][n][n][n]);
	return 0;
}