蒟蒻求助,60分
查看原帖
蒟蒻求助,60分
375736
TheZealous楼主2021/3/20 16:52
#include<bits/stdc++.h>
using namespace std;
int m,n;
int dp[51][51][51][51],hx[51][51];
/*int maxtz(int a,int b,int c,int d)
{
	a=a>c?a:c;
	b=b>d?b:d;
	return a>b?a:b; 
 }  */
int main(){
	scanf("%d%d",&m,&n);
	for(int i=1;i<=n;i++)
	{
	for(int j=1;j<=m;j++)
	{
		scanf("%d",&hx[i][j]);
	}
	}
	for(int i=1;i<=n;i++){//一下  
	for(int j=1;j<=m;j++){//一右 
	for(int k=n;k>=1;k--){//二右 
	for(int h=m;h>=1;h--){//二下 
	dp[i][j][k][h]=max(dp[i-1][j][k][h-1],max(dp[i-1][j][k-1][h],max(dp[i][j-1][k-1][h],dp[i][j-1][k][h-1])));
	dp[i][j][k][h]+=((i==k&&j==h)?hx[i][j]:(hx[i][j]+hx[k][h])); 

	}
    }
	}
	}
	printf("%d",dp[n][m][n][m]);
	return 0;
	
}
2021/3/20 16:52
加载中...