看了三年了,题目上例子对的但是wrong answer
查看原帖
看了三年了,题目上例子对的但是wrong answer
595105
peng_yu_yan楼主2021/12/2 18:16
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,x,y,z;
	int a[12][12],dp[12][12][12][12];cin>>n;
	while(1){

		cin>>x>>y>>z;
		if(x==0&&y==0&&z==0){
		break;
		}else{
			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++){
			dp[i][j][k][l]=max(max(dp[i-1][j][k-1][l],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(i==k&&j==l){
		dp[i][j][k][l]-=a[i][j];
	}
	}	}}}
cout<<dp[n][n][n][n];
	return 0;
}
2021/12/2 18:16
加载中...