在北美洲東南部,有一片神秘的海域,那裡碧海藍天、陽光明媚,這正是傳說中海盜最活躍的加勒比海。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 定...