SCU 1114 數字三角(dp)

2021-08-22 06:08:16 字數 603 閱讀 3161

題目思路:戳我戳我

這是一道dp的模板題,狀態轉移方程很容易想,唯一需要注意的就是怎麼把路徑列印出來:

因為我們dp的時候其實是在遞迴的,此時我們並不知道選擇了下一層的哪個數字,可以考慮在dp的時候把每一層到底層的最大值儲存在陣列res中,這樣第i層選擇的數字就是res[i]-res[i+1];最後列印出來就好了;結合**進行比較詳細的說明。

題目**:

#include#include#include#include#define maxn 101

using namespace std;

int a[maxn][maxn];

int d[maxn][maxn];//表示從i,j這個位置到三角形底部的最大數字和

int res[105];//i+1行的最大數字和

int n;

void print()

int main(void)

}for(int i=1;i<=n;i++)

dp(1,1);

print();

return 0;

}

呼呼

SCU 1114 數字三角

c 數字三角 time limit 0msmemory limit 0kb64bit io format lld llu submit status practice scu 1114 description 下圖是個數字三角,請編寫乙個程式計算從頂部至底部某處一條路徑,使得該路徑所經過的數字總和最...

(SCU 1114 )數字三角

下圖是個數字三角,請編寫乙個程式計算從頂部至底部某處一條路徑,使得該路徑所經過的數字總和最大。3 88 1 0 2 7 4 4 1 每一步可沿左斜線向下或右斜線向下走 2 1 三角形行數 100 3 三角形中的數字為整數 0,1,99。4 如果有多種情況結果都最大,任意輸出一種即可。第一行乙個整數n...

簡單dp 數字三角問題

這個問題也是簡單dp問題 題意 給定乙個由n行數字組成的數字三角形,如下圖所示 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 試設計乙個演算法,計算出從三角形的頂至底的一條路徑,使該路徑經過的數字總和最大 每一步只能從乙個數走到下一層上和它最近的左邊的數或者右邊的數 輸入 先輸入三角形...