三维 dp 86pts 求调 / Hack
查看原帖
三维 dp 86pts 求调 / Hack
754402
_S__楼主2025/1/24 10:57

原来校内 OJ 过了,但洛谷 #4 WA。

#include<bits/stdc++.h>
using namespace std;

const int N=12;
int sc[N][N];
int dp[N][N][N]; 

int main(){
	int n;cin>>n;int x,y,z;
	while(cin>>x>>y>>z){
		if(!(x || y || z)) break;
		sc[x][y]=z;
	}
	for(int i1=1; i1<=n; i1++){
		for(int j1=1; j1<=n; j1++){
			for(int i2=1; i2<=n; i2++){
				if(i1==i2) dp[i1][j1][i2]=sc[i1][j1]+max(dp[i1][j1-1][i2-1],dp[i1-1][j1][i2]);
				else dp[i1][j1][i2]=sc[i1][j1]+sc[i2][i1+j1-i2]+max({dp[i1-1][j1][i2-1],dp[i1-1][j1][i2],dp[i1][j1-1][i2-1],dp[i1][j1-1][i2]});
			}
		}
	}
	cout<<dp[n][n][n];
	return 0;
}
2025/1/24 10:57
加载中...