传纸条 题解
2023-08-18 18:54:32
发布于:广东
12阅读
0回复
0点赞
AC代码
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 55
using namespace std;
int a[N][N],f[N][N][N][N];
void work(int i,int j,int k,int l)
{
int Max=0;
Max=max(Max,f[i-1][j][k-1][l]);
Max=max(Max,f[i-1][j][k][l-1]);
Max=max(Max,f[i][j-1][k-1][l]);
Max=max(Max,f[i][j-1][k][l-1]);
f[i][j][k][l]=Max+a[i][j];
if(i!=k||j!=l)
f[i][j][k][l]+=a[k][l];
}
int main()
{
int m,n,i,j,k,l;
scanf("%d%d",&m,&n);
for(i=1;i<=m;++i)
for(j=1;j<=n;++j)
scanf("%d",&a[i][j]);
for(i=1;i<=m;++i)
for(j=1;j<=n;++j)
for(k=1;k<=m;++k)
for(l=1;l<=n;++l)
work(i,j,k,l);
printf("%d",f[m][n][m][n]);
return 0;
}
这里空空如也
有帮助,赞一个