藍橋網 演算法提高 快樂司機

2021-07-08 22:39:11 字數 1095 閱讀 7069

問題描述

"嘟嘟嘟嘟嘟嘟

喇叭響我是汽車小司機

我是小司機

我為祖國運輸忙

運輸忙"

這是兒歌「快樂的小司機」。話說現在當司機光有紅心不行,還要多拉快跑。多拉不是超載,是要讓所載貨物價值最大,特別是在當前油價日新月異的時候。司機所拉貨物為散貨,如大公尺、麵粉、沙石、泥土......

現在知道了汽車核載重量為w,可供選擇的物品的數量n。每個物品的重量為gi,價值為pi。求汽車可裝載的最大價值。(n<10000,w<10000,0輸入格式

輸入第一行為由空格分開的兩個整數n w

第二行到第n+1行,每行有兩個整數,由空格分開,分別表示gi和pi

輸出格式

最大價值(保留一位小數)

樣例輸入

5 36

99 87

68 36

79 43

75 94

7 35

樣例輸出

71.3

解釋:先裝第5號物品,得價值35,占用重量7

再裝第4號物品,得價值36.346,占用重量29

最後保留一位小數,得71.3

這一道題要用到貪心,對平均價值排序,然後從平均價值最高的開始選擇。這樣就ok了,對不?

然後,wrong出現了,為什麼呢?

看結果再裝4號物品那裡,並不是裝到裝不下下乙個物品就停止裝了,而是把剩下的容量接著用下乙個物品裝。

上**:

#include

#include

#include

using namespace std;

struct object

;int cmp(object a, object b)

int main()

sort(s, s + n, cmp);

for (i = 0; i < n&&w - other_weight >= s[i].weight; ++i)

if (i < n)

maxvalue += 1.0 * (w - other_weight) / s[i].weight * s[i].value;

printf("%.1lf\n",maxvalue);

}

藍橋杯 演算法提高 快樂司機

演算法提高 快樂司機 時間限制 1.0s 記憶體限制 256.0mb 問題描述 嘟嘟嘟嘟嘟嘟 喇叭響我是汽車小司機 我是小司機 我為祖國運輸忙 運輸忙 這是兒歌 快樂的小司機 話說現在當司機光有紅心不行,還要多拉快跑。多拉不是超載,是要讓所載貨物價值最大,特別是在當前油價日新月異的時候。司機所拉貨物...

藍橋杯演算法提高 快樂司機

原題 演算法提高 快樂司機 時間限制 1.0s 記憶體限制 256.0mb 問題描述 嘟嘟嘟嘟嘟嘟 喇叭響我是汽車小司機 我是小司機 我為祖國運輸忙 運輸忙 這是兒歌 快樂的小司機 話說現在當司機光有紅心不行,還要多拉快跑。多拉不是超載,是要讓所載貨物價值最大,特別是在當前油價日新月異的時候。司機所...

藍橋杯 演算法提高 快樂司機

問題描述 嘟嘟嘟嘟嘟嘟 喇叭響我是汽車小司機 我是小司機 我為祖國運輸忙 運輸忙 這是兒歌 快樂的小司機 話說現在當司機光有紅心不行,還要多拉快跑。多拉不是超載,是要讓所載貨物價值最大,特別是在當前油價日新月異的時候。司機所拉貨物為散貨,如大公尺 麵粉 沙石 泥土.現在知道了汽車核載重量為w,可供選...