讨论 / PID314 [By YangHao] C++ AC
YangHao 2017-09-09 23:53:29
点我顶贴 收藏 删除
while(scanf("%d",&n)!=EOF)

{

memset(a,0,sizeof(a));

while(1)

{

scanf("%d%d%d",&r,&c,&v);

if(!r&&!c&&!v) break;

a[r][c]=v;

}

memset(f,0,sizeof(f));

for(int k=1;k<=2*n;k++)

for(int i=1;i<=k;i++)

for(int j=1;j<=k;j++)

{

int tmp=-2147483646;

tmp=max(tmp,f[k-1][i-1][j-1]);

tmp=max(tmp,f[k-1][i-1][j]);

tmp=max(tmp,f[k-1][i][j-1]);

tmp=max(tmp,f[k-1][i][j]);

if(i==j) f[k][i][j]=tmp+a[k-i+1][i];

else f[k][i][j]=tmp+a[k-i+1][i]+a[k-j+1][j];

}

printf("%d\n",f[2*n][n][n]);

}

查看更多回复
提交回复