問題求解與程式設計 實驗六 C 拾寶

2021-08-20 14:42:44 字數 1098 閱讀 3424

描述

如圖所示,有乙個群島,共分為若干層,第1層有乙個島嶼,第2層有2個島嶼,......,第n層有n個島嶼。每個島上都有一塊寶,其價值是乙個正整數(圖中圓圈中的整數)。尋寶者只允許從第一層的島嶼進入,從第n層的島嶼退出,不能後退,他能收集他所經過的所有島嶼上的寶貝。但是,從第i層的島嶼進入第i+1層的島嶼時,有且僅有有2條路徑。你的任務是:對於給定的群島和島上寶貝的價值,計算乙個拾寶者行走一趟所能收集寶貝的最大價值。

第一行是乙個整數n,在[2,20]之間,表示要輸入的案例的數量。後面緊跟n個案例。對每個案例,第一行是乙個整數mi,在[2, 50]之間,表示該案例中島嶼的層數,後面緊跟mi*(mi+1)/2行,每行有1個整數,表示響應的島嶼上寶貝的價值,每個數值的範圍是[1, 1000]。注意:如果mi是4,而後面緊跟的10行的元素分別是5, 2, 1, 4, 7, 9, 4, 2, 3, 5,則表示第一層的資料是5;第2層的資料是2, 1;第3層的資料是4, 7, 9;第4層的資料是4, 2, 3, 5。

輸出 對每乙個案例,用一行輸出乙個整數,表示輸出拾寶者所能收集寶貝的最大價值。

樣例輸入1 

複製

245

2147

9223

5212

3

樣例輸出1

20

4

數塔問題!再來溫習一下,和之前方法也不太一樣...

動態規劃,儲存資料,比較

#include #include using namespace std;

int n,a[60][60],d[60][60];//乙個用來儲存原始的數塔資料,乙個用來儲存動態規劃的。

int main()

//輸入資料

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

d[n][i] = a[n][i]; //令底層全部等於初始

for (i=n-1; i>=1; i--)

for (j=1; j<= i; j++)

cout下面是標程:

#include#includeusing namespace std;

int main()

return 0;

}

問題求解與程式設計 實驗四 C食堂排隊

描述 某日,食堂視窗推出一款新美食,每個班的同學都想去嚐一嚐。於是,很多人都去這個視窗排隊,但是,隊伍中如果同班同學相鄰站著的話,他們就只需要乙個人排在隊伍中就行了。例如某次隊伍情況 12221133345678899,那麼就會變成一條新的隊伍 1213456789。輸入 輸入有多組資料,對於每組資...

問題求解與程式設計

問題提出時,想要利用計算機進行求解,而一般計算機不會分析問題並直接給出解決問題的方案,故我們個人需要分析問題並給出問題的解決方案,再將其描述成計算機能識別的指令 程式 讓計算機進行複雜處理,最終得到問題結果,在這一過程中,計算機確起著非常重要的作用,但是要是沒有前面的一系列步驟,也不能解決問題 程式...

問題求解與程式設計 實驗二 G 大數A B

描述 大家都做個好多a b系列的題目,今天來點新鮮的a b題目。輸入 輸入有多組。每一組資料佔一行。每行有兩個整數,中間用空格隔開。其中整數範圍為 0,10 100 輸出 每組輸出佔一行。具體格式見樣例。樣例輸入11 2 112233445566778899 998877665544332211 樣...