求助
  • 板块灌水区
  • 楼主OvOHenry
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/30 14:24
  • 上次更新2024/7/30 15:29:22
查看原帖
求助
1052369
OvOHenry楼主2024/7/30 14:24
这是哪道题来着?
#include<bits/stdc++.h>
using namespace std;
const int NN = 1004;
int A[NN][NN], D[NN][NN], N;
int dp(int i,int j) {
	int &d = D[i][j];
	if (d >= 0) return d;
	if (i == N) return d = A[i][j];
	assert(i<N);
	return d=A[i][j]+max(dp(i+1,j),dp(i+1,j+1));
}
int main() {
	ios::sync_with_stdio(false),cin.tie(0);
	cin>>N;
	memset(D,-1,sizeof(D));
	for(int i=1; i<=N; i++)
		for(int j=1;j<=i;++j)cin>>A[i][j];
		
	printf("%d\n",dp(1,1));
	return 0;
	}
2024/7/30 14:24
加载中...