求助!2-5全WA
查看原帖
求助!2-5全WA
215919
_Crystal楼主2021/10/24 08:43
#define N 20
int n,a[20][20],dp[N][N],vis[N][N][2];
void dpp()
{
	memset(dp,0,sizeof(dp));
	memset(vis,-1,sizeof(vis));
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{
			if(dp[i - 1][j] >= dp[i][j - 1])
			{
				dp[i][j] = dp[i - 1][j];
				vis[i][j][0] = i - 1;
				vis[i][j][1] = j;
			}
			else
			{
				dp[i][j] = dp[i][j - 1];
				vis[i][j][0] = i;
				vis[i][j][1] = j - 1;
			}
			dp[i][j] += a[i][j];
		}
	}

}
int main()
{
	cin >> n;
	int b,c,d;
	do
	{
		cin >> b >> c >> d;
		a[b][c] = d;
	}
	while(b != 0 and c != 0 and d != 0);

	dpp();
	
	for(int i = vis[n][n][0],j = vis[n][n][1]; i != -1 and j != -1; i = vis[i][j][0],j = vis[i][j][1])
	{
		a[i][j] = 0;
	}
	
	int maxn = dp[n][n];
	dpp();
	cout << maxn + dp[n][n];
	return 0;
}
2021/10/24 08:43
加载中...