題目描述
在一座山上,有很多很多珠寶,它們散落在山底通往山頂的每條道路上,不同道路上的珠寶的數目也各不相同.下圖為一張藏寶地圖:
73 8
8 1 0
2 7 4 4
4 5 2 6 5
」奪寶奇兵」從山下出發,到達山頂,如何選路才能得到最多的珠寶呢?在上圖所示例子中,按照5-> 7-> 8-> 3-> 7的順序,將得到最大值30
輸入第一行正整數n(100> =n> 1),表示山的高度
接下來有n行非負整數,第i行有i個整數(1< =i< =n),表示山的第i層上從左到右每條路上的珠寶數目
輸出乙個整數,表示從山底到山頂的所能得到的珠寶的最大數目.
樣例輸入57
3 88 1 0
2 7 4 4
4 5 2 6 5
樣例輸出
**如下:
#include
using
namespace std;
const
int n =
110;
int mp[n]
[n];
int dp[n]
[n];
int n;
intmain()
for(
int i = n -
1; i >=
1; i--
)for
(int j =
1; j <= i; j++
) cout << dp[1]
[1]<< endl;
return0;
}
記憶化搜尋解法:
[藍橋杯][演算法提高vip]奪寶奇兵-遞推+記憶化搜尋
dp時間為2,比記憶化搜尋慢.
藍橋杯 演算法提高VIP 奪寶奇兵(動態規劃)
題目描述 在一座山上,有很多很多珠寶,它們散落在山底通往山頂的每條道路上,不同道路上的珠寶的數目也各不相同.下圖為一張藏寶地圖 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 奪寶奇兵 從山下出發,到達山頂,如何選路才能得到最多的珠寶呢?在上圖所示例子中,按照5 7 8 3 7的順序,將...
演算法提高 奪寶奇兵
題目描述 在一座山上,有很多很多珠寶,它們散落在山底通往山頂的每條道路上,不同道路上的珠寶的數目也各不相同.下圖為一張藏寶地圖 73 8 8 1 0 2 7 4 4 4 5 2 6 5 奪寶奇兵 從山下出發,到達山頂,如何選路才能得到最多的珠寶呢?在上圖所示例子中,按照5 7 8 3 7的順序,將得...
演算法提高 奪寶奇兵
題目描述 在一座山上,有很多很多珠寶,它們散落在山底通往山頂的每條道路上,不同道路上的珠寶的數目也各不相同.下圖為一張藏寶地圖 73 8 8 1 0 2 7 4 4 4 5 2 6 5 奪寶奇兵 從山下出發,到達山頂,如何選路才能得到最多的珠寶呢?在上圖所示例子中,按照5 7 8 3 7的順序,將得...