为什么这样不行?
查看原帖
为什么这样不行?
212365
Pioneerwyp楼主2020/8/30 20:45
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

int m,n,a[55][55],f[55][55][55][55];
int main(){
	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 k=m;k>=1;k--)
				for(int l=n;l>=1;l--){
					f[i][j][k][l]=max(max(f[i-1][j][k+1][l],f[i-1][j][k][l+1]),max(f[i][j-1][k+1][l],f[i][j-1][k][l+1]))+a[i][j]+a[k][l];
					if(i==k&&j==l) f[i][j][k][l]-=a[i][j];
				}
	printf("%d",f[m][n][1][1]);
	return 0;
}
2020/8/30 20:45
加载中...