貪心 加勒比海盜船 最優裝載問題

2021-09-24 03:20:36 字數 665 閱讀 9877

在北美洲東南部,有一片神秘的海域,那裡碧海藍天、陽光明媚,這正是傳說中海盜最活躍的加勒比海。17 世紀時,這裡更是歐洲大陸的商旅艦隊到達美洲的必經之地,所以當時的海盜活動非常猖獗,海盜不僅攻擊過往商人,甚至攻擊英國皇家艦…… 有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件古董都價值連城,一旦打碎就失去了它的價值。雖然海盜船足夠大,但載重量為c,每件古董的重量為 wi,海盜們該如何把盡可能多數量的寶貝裝上海盜船呢?

輸入第一行:載重量c和寶貝數目n

第二行:每個寶貝的重量,以空格分隔

輸出可裝載的最大數量

要想把最多數量的寶貝裝上海盜船,就是要每件寶貝的重量都盡可能的小,載重量一定,只有單個寶貝的重量小,才能裝的數量更多。

演算法核心

本題使用貪心演算法,就是每次都選取當前所剩寶貝中重量最小的寶貝,直至再選取乙個就會超重載重量,此時的數目即為所求。

演算法流程

先將寶貝按重量從小到大排序,for迴圈遍歷,如果加上當前寶貝不會超重就增加數量,增加總重量,如果超重就退出迴圈,最後輸出數量。

#include#include#includeusing namespace std;

const int maxn=105;

int main()

}cout

}

加勒比海盜船 最優裝載問題 貪心演算法

在北美洲東南部,有一片神秘的海域,那裡碧海藍天 陽光明媚,這,正式傳說中海盜最活躍的加勒比海 caribbean sea 17世紀時,這裡更是歐洲大陸的商旅艦隊到達美洲的必經之地,所以當時的海盜活動非常猖獗,海盜們不僅攻擊過往商人,甚至攻擊英國皇家艦 有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,...

貪心演算法 加勒比海盜船 最優裝載問題

在北美洲南部,有一篇神秘的海域,那裡碧海藍天 陽光明媚。這正是傳說中海盜最活躍的加勒比海。17世紀時,這裡更是歐洲大陸的商旅艦隊到達美洲的必經之地,所以當時的海盜活動非常猖獗,海盜不僅攻擊過往商人,甚至攻擊英國皇家艦 有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件古董都價值連城,一旦打碎就失...

貪心演算法 加勒比海盜 最優裝載問題

有一天,海盜們截獲了一艘裝滿各種各樣古董的貨船,每一件古董都價值連城,一旦打碎就失去了它的價值。雖然海盜船足夠大,但載重量為c,每件古董的重量為wi,海盜們該如何把盡可能多數量的寶貝裝上海盜船呢?include 呼叫sort函式的標頭檔案 includeusing namespace std c 定...