/*
input:57
3 88 1 0
2 7 4 4
4 5 2 6 5
output:
30 數字三角形,可以說是一道很經典的題了,這道題應該出現在dp的入門題裡,
但是在這裡提前介紹也是有原因的,因為遞推中同樣涉及了這個關係式的推導,
好了,來仔細研究下這個三角形吧,總之這個三角形很重要,思想和方法一定要
領會,在後面的很多題目中,都是這種型別題目的變形。
要輸出的是從三角形的頂部到最後一行的所有數字的和的問題,關於這個問題
我想在小學奧數中肯定接觸過諸如此類類似的題目,當時大家是怎麼解決?qaq,忘了
忘了,肯定是草稿上亂擼一片,然後就出來了乙個看似正確的結果,再將其放進去了
tat,這樣的學習是錯誤的,學習就應該抓本質和抓概念,而不能抓作業和抓考試,
否則到頭來,啥東西也沒學會。。。。。
先看看這個題吧,我們採用倒推的手段來處理這個題目,首先,我們假設a[i][j]中
存放的是我們需要的數值,也就是說,a[i][j]表示的是從第一行到第i行的最優的
那條路線和,但是,我們卻要用a[i+1][j+1]來表示題目中的的最後一行。
然後由a[i][j]+=max從結果行到第一行一次遞迴運算就行了,
最後輸出a[1][1]就是我們需要的結果了。因為,a[i][j]存放的是才第i行到i+1行的
最優路線和,而a[i-1][j-1]存放的確實第i-1行到第i+1行的最優路線和,一次一次的
往前推,認真想,肯定是能想會的,那麼a[1][1]就是我們需要的最優路線和了。
*/# include# include# includeusing namespace std;
int a[123][123];
int main(void)
}for ( int i = n-1;i >= 1;i-- )
}cout
}
實驗室這幾天沒流量了,不知道是哪個片帝在用p2p下片,導致我寫了好多東西都沒辦法上傳,也刷不了題了qaq,,,, 數字三角形 遞推演算法
如下所示為乙個數字三角形。請編乙個程式計算從頂到底的某處的一條路徑,使該路徑所經過的數字總和最大。只要求輸出總和。1 一步可沿左斜線向下或右斜線向下走 2 三角形行數小於等於100 3 三角形中的數字為0,1,99 測試資料通過鍵盤逐行輸入,如上例資料應以如下所示格式輸入 57 3 88 1 0 2...
數字三角形
題目描述 示出了乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路 徑,使該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 25 三角形中的數字為整數 1000 輸入第一行為n,表示有n行 後面n行表示三角形每條路的路徑權 輸出路徑所經過的數字的總和最大的答案 樣...
數字三角形
description 有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?input 輸入資料首先包括乙個整數c,表示測試例項的個數,每個測試例項的第一行是乙個整數n 1 n 100 表示數塔的高度,接下來用n行數字表示數塔,其中第i行有個i個整數,...