c - 數字三角
time limit:0msmemory limit:0kb64bit io format:%lld & %llu
submit
status
practice
scu 1114
description
下圖是個數字三角,請編寫乙個程式計算從頂部至底部某處一條路徑,使得該路徑所經過的數字總和最大。
73 8
8 1 0
2 7 4 4
1. 每一步可沿左斜線向下或右斜線向下走;
2. 1<=三角形行數<=100
3. 三角形中的數字為整數 0,1,……,99。
4. 如果有多種情況結果都最大,任意輸出一種即可。
輸入:第一行乙個整數n,代表三角形的行數。
接下來n行,描述了乙個數字三角。
輸出:第一行乙個整數,代表路徑所經過底數字總和。
第二行n個數,代表所經過的數字。
樣例:輸入:4 7
3 88 1 0
2 7 4 4
輸出:25
7 3 8 7
找到了之前的一道dp題目,入門級別簡單線性dp,當時自己純手打的。溫習一下。
#include #include #define n 105
using namespace std;
int a[n][n];
int n;
int sum[n][n];
int ans[n];
void dp()
}int main()
}ans[n]=a[n][pos];
for(int i=n-1;i>=1;i--)
else if(pos==i)
else if(sum[i][pos]>sum[i][pos-1])
else if(sum[i][pos]
(SCU 1114 )數字三角
下圖是個數字三角,請編寫乙個程式計算從頂部至底部某處一條路徑,使得該路徑所經過的數字總和最大。3 88 1 0 2 7 4 4 1 每一步可沿左斜線向下或右斜線向下走 2 1 三角形行數 100 3 三角形中的數字為整數 0,1,99。4 如果有多種情況結果都最大,任意輸出一種即可。第一行乙個整數n...
SCU 1114 數字三角(dp)
題目思路 戳我戳我 這是一道dp的模板題,狀態轉移方程很容易想,唯一需要注意的就是怎麼把路徑列印出來 因為我們dp的時候其實是在遞迴的,此時我們並不知道選擇了下一層的哪個數字,可以考慮在dp的時候把每一層到底層的最大值儲存在陣列res中,這樣第i層選擇的數字就是res i res i 1 最後列印出...
螺旋列印三角數字矩陣
藍橋杯 程式設計 滿分15分 方陣的主對角線之上稱為 上三角 請你設計乙個用於填充n 階方陣的上三角區域的程式。填充的規則是 使用1,2,3 的自然數列,從左上角開始,按照順時針方向螺旋填充。例如 當n 3 時,輸出 1 2 3 6 4當n 4 時,輸出 1 2 3 4 9 10 5 8 6 當n ...