求助,我不理解!!!
  • 板块学术版
  • 楼主luoyinxi
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/10/10 16:30
  • 上次更新2023/11/2 14:39:35
查看原帖
求助,我不理解!!!
529271
luoyinxi楼主2023/10/10 16:30

题目传送门

我就改了一下数组大小

我就把f数组的“51”全改成了“52” 然后就对了结果

#include<bits/stdc++.h>
using namespace std;
int m,n;
int a[51][51],f[52][52][52][52];
int main(){
//	freopen("wassage.in","r",stdin);
//	freopen("wassage.out","w",stdout);
	cin>>m>>n;
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			for(int k=1;k<=i+j;k++){
				int l=i+j-k;
				f[i][j][k][l]=max(f[i-1][j][k-1][l],max(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];
			}
		}
	}
	cout<<f[m][n][m][n];
}

没改之前

2023/10/10 16:30
加载中...