比赛 |
清明时节雨纷纷,今天天气很晴朗 |
评测结果 |
AAAAAAAAAA |
题目名称 |
传纸条 |
最终得分 |
100 |
用户昵称 |
Menamovic |
运行时间 |
0.011 s |
代码语言 |
C++ |
内存使用 |
1.40 MiB |
提交时间 |
2017-04-07 19:54:53 |
显示代码纯文本
#include<cstdio>
using namespace std;
int n,m;
int i,j,k;
int Map[51][51];
int F[111][51][51];
int Max(int a,int b,int c,int d)
{
if(a>=b&&a>=c&&a>=d)
return a;
if(b>=a&&b>=c&&b>=d)
return b;
if(c>=a&&c>=b&&c>=d)
return c;
if(d>=a&&d>=b&&d>=c)
return d;
}
int main()
{
freopen("message.in","r",stdin);
freopen("message.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
scanf("%d",&Map[i][j]);
}
for(k=1;k<=n+m-2;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==n&&j==n&&k==n+m-2)
F[k][i][j]=Max(F[k-1][i-1][j],F[k-1][i][j-1],F[k-1][i][j],F[k-1][i-1][j-1])+Map[i][k+2-i]+Map[j][k+2-j];
else if(i!=j&&k+2-i>=1&&k+2-j>=1)
F[k][i][j]=Max(F[k-1][i-1][j],F[k-1][i][j-1],F[k-1][i][j],F[k-1][i-1][j-1])+Map[i][k+2-i]+Map[j][k+2-j];
printf("%d",F[n+m-2][n][n]);
return 0;
}