部分揹包問題(挖
#include <algorithm>
#include <stdio.h>
using namespace std;
struct bag {
double w;
double v;
double wv;
};
bool cmp(bag a, bag b) {
return a.wv > b.wv;
}
int main() {
int n, m;
scanf("%d%d", &n, &m);
struct bag a[n];
for (int i = 0; i < n; i++) {
scanf("%lf%lf", &a[i].w, &a[i].v);
a[i].wv = a[i].v / a[i].w;
}
sort(a, a + n, cmp);
int i = 0;
double jb = 0;
while (m > 0) {
if (m >= a[i].w) {
m -= a[i].w;
jb += a[i].v;
i++;
} else {
jb += (double)m * a[i].wv;
m = 0;
}
}
printf("%.2lf", jb);
return 0;
}
相關文章
- 揹包問題(01揹包與完全揹包)
- 揹包問題
- 01揹包問題
- 01 揹包問題
- 01揹包和完全揹包問題解法模板
- 揹包九講(部分)
- 揹包九講問題
- 經典揹包問題
- 揹包問題大合集
- 005多重揹包問題||
- 從【零錢兌換】問題看01揹包和完全揹包問題
- 揹包問題例題總結
- 【leetcode】揹包問題彙總LeetCode
- 2. 01揹包問題
- 揹包問題解題方法總結
- JavaScript中揹包問題(面試題)JavaScript面試題
- 51nod 1597 有限揹包計數問題 (揹包 分塊)
- chapter12-2-揹包問題APT
- 關於各種揹包問題
- 【動態規劃】揹包問題動態規劃
- 01揹包問題的解決
- 二維費用揹包問題
- 深入剖析多重揹包問題(上篇)
- 深入剖析多重揹包問題(下篇)
- 揹包問題----動態規劃動態規劃
- leetcode題解(0-1揹包問題)LeetCode
- 揹包問題的一道經典問題
- HDU Piggy-Bank(完全揹包問題)
- 整數0-1揹包問題
- 動態規劃 01揹包問題動態規劃
- 【動態規劃】01揹包問題動態規劃
- 動態規劃--01揹包問題動態規劃
- 動態規劃篇——揹包問題動態規劃
- 動態規劃-01揹包問題動態規劃
- 你真的懂01揹包問題嗎?01揹包的這幾問你能答出來嗎?
- Codeup 貨幣系統(完全揹包問題)
- 【演算法】0-1揹包問題演算法
- 【動態規劃】01揹包問題【續】動態規劃