不萌不新,求查错
查看原帖
不萌不新,求查错
242524
JRzyh楼主2020/8/14 15:03

四维dp

#include<bits/stdc++.h> 
#define INF (1<<30)
using namespace std;
const int N=20;
int f[N][N][N][N],a[N][N];
int x,y,n,m;
int main()
{
	cin>>m>>n;
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>a[i][j];
			f[i][j][i][j]=-INF;
		}
	}
	for(int x1=1;x1<=m;x1++)
	{
		for(int y1=1;y1<=n;y1++)
		{
			for(int x2=1;x2<=m;x2++)
			{
				for(int y2=1;y2<=n;y2++)
				{
					f[x1][y1][x2][y2]=max(max(f[x1-1][y1][x2-1][y2],f[x1-1][y1][x2][y2-1]),
								      max(f[x1][y1-1][x2-1][y2],f[x1][y1-1][x2][y2-1]))+a[x1][y1]+a[x2][y2];
				}	
			}
		}
	}
	cout<<f[m][n][m][n];
	return 0;
}

禁止无意义回复,谢谢

2020/8/14 15:03
加载中...