【HDOJ】2084 数塔
大水题,不过是经典DP,最基本的DP了。
#include <stdio.h> #define MAXNUM 105 int val[MAXNUM][MAXNUM]; int sums[MAXNUM][MAXNUM]; int mymax(int a, int b) { return a>b ? a:b; } int main() { int i, j, tmp; int height, case_n; scanf("%d", &case_n); while (case_n--) { scanf("%d", &height); memset(sums, 0, sizeof(sums)); for (i=1; i<=height; ++i) for (j=1; j<=i; ++j) { scanf("%d", &val[i][j]); sums[i][j] = val[i][j] + mymax(sums[i-1][j], sums[i-1][j-1]); } tmp = 0; for (j=1; j<=height; ++j) if (sums[height][j] > tmp) tmp = sums[height][j]; printf("%d\n", tmp); } return 0; }
浙公网安备 33010602011771号