POJ-1163-The Triangle
Posted ydddd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ-1163-The Triangle相关的知识,希望对你有一定的参考价值。
链接:https://vjudge.net/problem/POJ-1163
题意:
给一个三角形,每次只能从点往下一层左边或者右边走。
求走到最下面一层能得到的最大值。
思路:
dp,每个位置是上方左右中较大的值加上自己。
代码:
#include <iostream> #include <memory.h> #include <vector> #include <map> #include <algorithm> #include <cstdio> #include <math.h> #include <queue> #include <string> #include <stack> #include <iterator> using namespace std; typedef long long LL; const int MAXN = 100 + 10; int a[MAXN][MAXN]; int main() { int n; cin >> n; for (int i = 1;i <= n;i++) { for (int j = 1;j <= i;j++) cin >> a[i][j]; } int res = 0; for (int i = 1;i <= n;i++) for (int j = 1;j <= i;j++) { a[i][j] += max(a[i - 1][j], a[i - 1][j - 1]); res = max(res, a[i][j]); } cout << res << endl; return 0; }
以上是关于POJ-1163-The Triangle的主要内容,如果未能解决你的问题,请参考以下文章