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