60分求助!!!
查看原帖
60分求助!!!
475143
gaojian2007楼主2021/8/22 14:25
using namespace std;
int n,a[55][55],dp[55][55][55][55],m;
int main()
{
	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<=m;k++)
	for(int l=1;l<=n;l++)
	{
		dp[i][j][k][l]=max(dp[i-1][j][k-1][l],max(dp[i-1][j][k][l-1],max(dp[i][j-1][k-1][l],dp[i][j-1][k][l-1])))+a[i][j]+a[k][l];
		if(l==j&&i==k)dp[i][j][k][l]-=a[i][j];
	}
	cout<<dp[n][n][n][n];
	return 0;
}```
2021/8/22 14:25
加载中...