比赛 |
清明时节雨纷纷,今天天气很晴朗 |
评测结果 |
AAAAAAAAAA |
题目名称 |
传纸条 |
最终得分 |
100 |
用户昵称 |
东林桂香 |
运行时间 |
0.020 s |
代码语言 |
C++ |
内存使用 |
1.32 MiB |
提交时间 |
2017-04-07 20:17:37 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int m,n;
int a[51][51],f[101][51][51];
int main()
{
freopen("message.in","r",stdin);
freopen("message.out","w",stdout);
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)scanf("%d",&a[i][j]);
f[1][1][1]=a[1][1];
for(int k=2;k<=n+m-1;k++)
for(int x=1;x<=min(m,k);x++)
for(int y=1;y<=min(m,k);y++)
{
if(x==y)
for(int q=0;q<=1;q++)
for(int p=0;p<=1;p++)
f[k][x][y]=max(f[k][x][y],f[k-1][x-q][y-p]+a[x][k-x+1]);
else
for(int i=0;i<=1;i++)
for(int j=0;j<=1;j++)
f[k][x][y]=max(f[k][x][y],f[k-1][x-i][y-j]+a[x][k-x+1]+a[y][k-y+1]);
}
printf("%d",f[m+n-1][m][m]);
fclose(stdin);
fclose(stdout);
return 0;
}