ans

x-zhuhanyu 2022-08-07 15:39:11 2022-08-07 15:39:38 4 返回题目

#include <bits/stdc++.h>
using namespace std;
int ans=0;
int g[100][100];
int n,m;
int f[10][10][10][10];
queue<int>q;

int main() {
	int a,b,c;
	cin>>n;
	while(cin>>a&&cin>>b&&cin>>c){
		if(a+b+c==0) break;
		g[a][b]=c;
	} 
	   for(int i=1;i<=n;i++)
	     for(int j=1;j<=n;j++)
	       for(int x=1;x<=n;x++)
	        for(int y=1;y<=n;y++){
	   int tmp1=max(f[i-1][j][x-1][y],f[i-1][j][x][y-1]);
	   int tmp2=max(f[i][j-1][x-1][y],f[i][j-1][x][y-1]);
	   f[i][j][x][y]=max(tmp1,tmp2)+g[i][j]+g[x][y];
	   if(i==x&&j==y) f[i][j][x][y]-=g[i][j];
	   }	     
	  cout<<f[n][n][n][n]<<endl;
     
	return 0; 
	}
{{ vote && vote.total.up }}