題目描述
給定乙個如下圖所示的數字三角形,從頂部出發,在每一結點可以選擇移動至其左下方的結點或移動至其右下方的結點,一直走到底層,要求找出一條路徑,使路徑上的數字的和最大。
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
輸入格式
第一行包含整數n,表示數字三角形的層數。
接下來n行,每行包含若干整數,其中第 i 行表示數字三角形第 i 層包含的整數。
輸出格式
輸出乙個整數,表示最大的路徑數字和。
資料範圍
1≤n≤500,
−10000≤三角形中的整數≤10000
輸入樣例
5
73 8
8 1 0
2 7 4 4
4 5 2 6 5
輸出樣例30
題目思路
從下往上將左右分支中較大的記錄下來。
#include#include#include#includeusing namespace std;
const int n = 5e2+10;
int n,f[n][n];
int main()
USACO TRAINING 數字金字塔
時間限制 1 sec 記憶體限制 64 mb 考慮在下面被顯示的數字金字塔。寫乙個程式來計算從最高點開始在底部任意處結束的路徑經過數字的和的最大。每一步可以走到左下方的點也可以到達右下方的點。在上面的樣例中,從7 到 3 到 8 到 7 到 5 的路徑產生了最大和 30 第1行 1個整數r 1 r ...
USACO TRAINING 奶牛家譜
時間限制 1 sec 記憶體限制 64 mb 提交 53 解決 24 提交 狀態 我的提交 農民約翰準備購買一群新奶牛。在這個新的奶牛群中,每乙個母親奶牛都生兩小奶牛。這些奶牛間的關係可以用二叉樹來表示。這些二叉樹總共有n個節點 3 n 200 這些二叉樹有如下性質 有多少不同的家譜結構?如果乙個家...
USACO TRAINING 子集的和
時間限制 1 sec 記憶體限制 64 mb 對於從1到n 1 n 39 的連續整數集合,能劃分成兩個子集合,且保證每個集合的數字之和是相等的。舉個例子,如果n 3,對於能劃分成兩個子集合,他們每個的所有數字和是相等的 and 這是唯一一種分法 交換集合位置被認為是同一種劃分方案,因此不會增加劃分方...