0分 求调
查看原帖
0分 求调
1558170
_chiyu_1236_楼主2024/11/3 20:07

某好奇四维dp

进来看了一下

记得某年某月某日某的老师讲过

但是当时我脑袋空空

只记得点头,不记得记

思考一下后决定看题解用四维dp写

大概是这篇文章?

我写的差不多快照抄了

结果 0分

#include <cstdio>
#include <iostream> 
using namespace std;
int f[11][11][11][11]={0};
int n,x,y,z,a[11][11]={0};
int main(){
	scanf("%d",&n);
	scanf("%d%d%d",&x,&y,&z);
	a[x][y]=z;
	while(x||y||z){
		scanf("%d%d%d",&x,&y,&z);
		if(!(x||y||z))break;
		a[x][y]=z;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			for(int k=1;k<=n;k++){
				for(int l=1;l<=n;l++){
					f[x][y][k][l]=max(max(f[x-1][y][k-1][l],f[x][y-1][k][l-1]),max(f[x][y-1][k-1][l],f[x-1][y][k][l-1]))+a[i][j];
					if(i!=k&&j!=l)f[x][y][k][l]+=a[k][l];
				}
			}
		}
	}
	printf("%d",f[n][n][n][n]);
	return 0;
}

大佬求调,谢谢

2024/11/3 20:07
加载中...