回溯法求數字三角形
從三角形的頂部到底部有很多條不同的路徑。
對於每條路徑,把路徑上面的數加起來可以得到乙個和,你的任務就是找到最
大的和。路徑上的每一步只能從乙個數走到下一層和它最近的左邊的那個數或者右邊的那個數。此外,向左下走的次數與向右下走的次數相差不能超過 1。
【輸入格式】
輸入的第一行包含乙個整數 n (1 < n ≤ 100),表示三角形的行數。下面的
n 行給出數字三角形。數字三角形上的數都是 0 至 100 之間的整數。
【輸出格式】
輸出乙個整數,表示答案。
【樣例輸入】57
3 88 1 0
2 7 4 4
4 5 2 6 5
【樣例輸出】
27
n=
int(
input()
)tran=
for _ in
range
(n):
ss=list
(map
(int
,input()
.split())
)ans=tran[0]
[0]point=
0deep=
1res=
defbacktrak
(deep,ans,point)
:if deep==n:
return
for i in
[point,point+1]
: ans+=tran[deep]
[i] backtrak(deep+
1,ans,i)
ans-=tran[deep]
[i]backtrak(deep,ans,point)
print
(max
(res)
)
藍橋杯 數字三角形
題目大意 編寫程式計算從三角形頂部到底部的某處的一條路徑,使得該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 100 三角形中的數字為整數0,1,99 題目分析 很好的一道動態規劃的例子。解題思路是自底向上分析,既然這條路徑能從頂部到底部,那麼從下往上看,也是等效的...
藍橋杯 數字三角形
問題描述 圖 示出了乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路 徑,使該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 100 三角形中的數字為整數0,1,99 輸入格式 檔案中首先讀到的是三角形的行數。接下來描述整個三角形 輸出格式 最大總和 整數 樣例...
藍橋杯,楊輝三角形,Python
題目描述 問題描述 楊輝三角形又稱pascal三角形,它的第i 1行是 a b i的展開式的係數。它的乙個重要性質是 三角形中的每個數字等於它兩肩上的數字相加。下面給出了楊輝三角形的前4行 11 1 1 2 1 1 3 3 1給出n,輸出它的前n行。輸入格式 輸入包含乙個數n。輸出格式 輸出楊輝三角...