description
乙個數字三角寶塔。
設數字三角形中的數字為絕對值不超過1000的整數。
現規定從最頂層走到最底層,每一步可沿向下或右斜線向下走。
求解從最頂層走到最底層的一條路徑,使得沿著該路徑所經過的數字的總和的絕對值最大,輸出最大值
input
輸入資料的第1 行是數字三角形的行數n,1<=n<=1000。
接下來n行是數字三角形各行中的數字。所有數字都小於1000。
output
程式執行結束時,將計算出的最大值輸出。
sample input
4
13 2
4 10 1
4 3 2 20
sample output
24
hint
輸出結果時請用printf("%d",ans)或cout《第一次寫dp的題。
這題我們可以定義兩個陣列,乙個存最大的,乙個存最小的,然後就可以用dp的方法來解。
**:
#include
using
namespace std;
int a[
1001][
1001];
long
long f1[
1001][
1001
],f2[
1001][
1001];
intmain()
if(j==i)
if(j!=
1&&j!=i)
}long
long ans1=
0,ans2=0;
for(
int i=
1;i<=n;i++
)/*for(int i=1;i<=n;i++)
數字三角形 DP
數字三角形 時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 問題描述 小hi和小ho在經歷了螃蟹先生的任務之後被獎勵了一次出國旅遊的機會,於是他們來到了大洋彼岸的美國。美國人民的生活非常有意思,經常會有形形色色 奇奇怪怪的活動舉辦,這不,小hi和小ho剛剛下飛機,就趕上了當...
(dp)數字三角形
數字三角形問題。有乙個由非負整數組成的三角形,第一行只有乙個數,除了最下行 之外每個數的左下方和右下方各有乙個數 從第一行的數開始,每次可以往左下或右下走一格,直到走到最下行,把沿途經過的數 全部加起來。如何走才能使得這個和盡量大?具體實現 中的d我們用maxsum表示 最初的位置我們用d存 1.把...
數字三角形 dp
給定乙個如下圖所示的數字三角形,從頂部出發,在每一結點可以選擇移動至其左下方的結點或移動至其右下方的結點,一直走到底層,要求找出一條路徑,使路徑上的數字的和最大。73 8 8 1 0 2 7 4 4 4 5 2 6 5 輸入格式 第一行包含整數n,表示數字三角形的層數。接下來n行,每行包含若干整數,...