POJ3176--Cow Bowling

题目大意:就是一个数字三角形。。

 

分析:见紫书动态规划讲解...


代码:

#include <cstdio>
#include <algorithm>
using namespace std;

int a[360][360], d[360];


int main() {
    int n;
    scanf("%d", &n);
    for(int i = 0; i < n; i++)
        for(int j = 0; j <= i; j++)
            scanf("%d", &a[i][j]);
    for(int i = n-1; i>= 0; i--) {
        for(int j = 0; j <= i; j++) {
            if(i == n-1) d[j] = a[i][j];
            else {
                d[j] = max(a[i][j]+d[j], a[i][j]+d[j+1]);
            }
        }
    }
    printf("%d\n", d[0]);
    return 0;
}


你可能感兴趣的:(POJ3176--Cow Bowling)