比赛 防止颓废的小练习v0.4 评测结果 AAAAAA
题目名称 方格取数 最终得分 100
用户昵称 slyterlins 运行时间 0.013 s
代码语言 C++ 内存使用 0.93 MiB
提交时间 2016-10-25 10:10:48
显示代码纯文本
#include<cstdio> 
#include<cstring> 
#include<iostream>
#include<algorithm>
using namespace std;
int n,f[20][20][20][20],ma[20][20];
int main(){
	freopen("fgqs.in","r",stdin);
	freopen("fgqs.out","w",stdout);
	cin>>n;
    int c,b,d;
	while(cin>>c>>b>>d){
		if(c!=0)ma[c][b]=d;else break;
	} 
	   for(int i=1;i<=n;i++)
	      for(int j=1;j<=n;j++)
	          for(int u=1;u<=n;u++)
	             for(int v=1;v<=n;v++){
			    f[i][j][u][v]=max(max(f[i-1][j][u-1][v],f[i][j-1][u-1][v]),max(f[i-1][j][u][v-1],f[i][j-1][u][v-1]))+ma[i][j]+ma[u][v];
	           if(i==u&&j==v)f[i][j][u][v]-=ma[i][j];         
			 }
	   cout<<f[n][n][n][n];
	   return 0;          
}