【刷题】动态规划——线性DP(数字三角形):摘花生

【刷题】动态规划——线性DP(数字三角形):摘花生,第1张

【刷题】动态规划——线性DP(数字三角形):摘花生

#include 
using namespace std;

const int N = 110;

int t, r, c, m;
int f[N][N], w;

int main() {
	scanf("%d", &t);
	while(t--) {
		scanf("%d%d", &r, &c);

		for(int i = 0; i < r; i++) {
			for(int j = 0; j < c; j++) {
				scanf("%d", &w);
				if (i > 0 && j > 0) {
					f[i][j] = max(f[i-1][j] + w, f[i][j-1] + w);
				}
				else if (i > 0) {
					f[i][j] = f[i-1][j] + w;
				}
				else if (j > 0) {
					f[i][j] = f[i][j-1] + w;
				}
				else {
					f[0][0] = w;
				}
			}
		}
		printf("%dn", f[r-1][c-1]);
	}
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5670042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存