40分求调
  • 板块灌水区
  • 楼主OneLeft
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/8/31 08:54
  • 上次更新2023/10/27 13:00:29
查看原帖
40分求调
574215
OneLeft楼主2022/8/31 08:54

https://www.luogu.com.cn/problem/P1004

code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,x,y,z,a[15][15],dp[15][15][15][15];
int MAX(int a,int b,int c,int d)
{
	return max(a,max(b,max(c,d)));
}
signed main()
{
	cin>>n;
	for(;;)
	{
		cin>>x>>y>>z;
		if(x==0&&y==0&&z==0)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=j+1;l<=n;l++)
		dp[i][j][k][l]=MAX(dp[i-1][j][k-1][l],dp[i-1][j][k][l-1],dp[i][j-1][k-1][l],dp[i][j-1][k][l-1])+a[i][j]+a[k][l];
	cout<<dp[n][n-1][n-1][n];
	
	return 0;
}
2022/8/31 08:54
加载中...