蒟蒻困惑,为什么本地的答案明显错误但是能AC
查看原帖
蒟蒻困惑,为什么本地的答案明显错误但是能AC
1215295
discretely楼主2024/3/4 22:24
// Problem: 
//     P1004 [NOIP2000 提高组] 方格取数
//   
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P1004
// Memory Limit: 125 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<iostream>
#include<cstring>
using namespace std;
const int N=10;
int ans=0;
int f[N][N][N];
int val[N][N];


int main(){
	int n;cin>>n;
	int a,b,c;
	while(cin>>a>>b>>c){
		if(a==0&&b==0&&c==0){
			break;
		}
		val[a][b]=c;
	}
	for(int k=2;k<=n*2;++k){
		for(int i=1;i<=min(k-1,n);++i){
			for(int j=1;j<=min(k-1,n);++j){
					f[k][i][j]=max(max(f[k-1][i-1][j-1],f[k-1][i][j-1]),
					max(f[k-1][i-1][j],f[k-1][i][j]))+val[k-j][j]+val[k-i][i];
					if(i==j) f[k][i][j]-=val[k-i][i];
			}
		}
	}
	cout<<f[n*2][n][n]<<endl;
	
	
	return 0;
}
2024/3/4 22:24
加载中...