二维dp求调
查看原帖
二维dp求调
1086575
HUTEHE楼主2024/8/7 21:34
#include<bits/stdc++.h>
#define int long long
using namespace std;
int dp[201][201];
int a[201][201];
int n;
inline int max4(int a,int b,int c,int d)
{
	a=a>b?a:b;
	c=c>d?c:d;
	return a>c?a:c;
}
signed main()
{
    cin>>n;
    int x,y;
	while(cin>>x>>y&&x!=0&&y!=0)
	{
		cin>>a[x][y];
	}
    for(int k=3;k<=n*2;k++)
    {
		for(int i=n;i>=1;i--)
		{
			for(int j=n;j>i;j--)
			{
				dp[i][j]=max4(dp[i][j],dp[i-1][j-1],dp[i-1][j],dp[i][j-1]);
				dp[i][j]+=a[i][k-i]+a[j][k-j];
			}
		}
	}
	cout<<dp[n-1][n];
	return 0;
}

本༺ཌༀཉི蒟༒蒻༃ༀད༻༺ཌༀཉི蒟༒蒻༃ༀད༻初学c++,40分求调qwq

2024/8/7 21:34
加载中...