比赛 清明时节雨纷纷,今天天气很晴朗 评测结果 AAAAAAAAAA
题目名称 传纸条 最终得分 100
用户昵称 REALIZE_BEYOND 运行时间 0.214 s
代码语言 C++ 内存使用 26.11 MiB
提交时间 2017-04-07 19:08:43
显示代码纯文本
#include<cstdio>
using namespace std;
int a[51][51]={0};
int f[51][51][51][51]={0};
int m,n;
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]);
	for(int i=1;i<=m;i++)
	  for(int j=1;j<=n;j++)
	    for(int b=1;b<=m;b++)
	      for(int c=1;c<=n;c++)
	        {if(i==b&&j==c)
			 {
	        	if(f[i][j][b][c]<f[i-1][j][b-1][c])
                  f[i][j][b][c]=f[i-1][j][b-1][c];
                if(f[i][j][b][c]<f[i-1][j][b][c-1])
                  f[i][j][b][c]=f[i-1][j][b][c-1];
                if(f[i][j][b][c]<f[i][j-1][b-1][c])
				  f[i][j][b][c]=f[i][j-1][b-1][c];
                if(f[i][j][b][c]<f[i][j-1][b][c-1])
                  f[i][j][b][c]=f[i][j-1][b][c-1];
			 }
			 else
			 {
				if(f[i][j][b][c]<f[i-1][j][b-1][c])
                  f[i][j][b][c]=f[i-1][j][b-1][c];
                if(f[i][j][b][c]<f[i-1][j][b][c-1])
                  f[i][j][b][c]=f[i-1][j][b][c-1];
                if(f[i][j][b][c]<f[i][j-1][b-1][c])
				  f[i][j][b][c]=f[i][j-1][b-1][c];
                if(f[i][j][b][c]<f[i][j-1][b][c-1])
                  f[i][j][b][c]=f[i][j-1][b][c-1];
                f[i][j][b][c]+=a[i][j]+a[b][c];
			 }
			}
	        
	printf("%d",f[m][n][m][n]);
	return 0;	
}