//============================================================================
//
// > File : poj3176.cpp
// > Author : flowertree
// > Time : 2015年11月14日
// > Algorithm : 简单DP
//
//============================================================================
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
using namespace std;
#define MAX 355
int map[MAX][MAX];
int dp[MAX][MAX];
int maxcmp(int a, int b)
{
return a > b ? a : b;
}
int main()
{
int n;
cin >> n;
memset(map, 0, sizeof(map));
memset(dp, 0, sizeof(dp));
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= i; j++)
cin >> map[i][j];
}
for(int i = 1; i <= n; i++)
{
dp[n][i] = map[n][i];
}
for(int i = n - 1; i >= 1; i--)
for(int j = 1; j <= i; j++)
{
dp[i][j] = map[i][j] + maxcmp(dp[i + 1][j], dp[i + 1][j + 1]);
}
cout << dp[1][1] << endl;
system("pause");
return 0;
}
poj 3167 动态规划
最新推荐文章于 2018-07-29 12:14:45 发布