贪心算法最优装载代码
时间: 2023-11-21 20:56:19 浏览: 75
下面是C++实现的贪心算法最优装载代码,该算法用于解决装载问题,即在给定的一些物品中选择尽可能多的物品放入容量为C的背包中,使得背包中物品的总重量不超过C,同时要求背包中物品的总价值最大。
```
#include <iostream>
#include <algorithm>
using namespace std;
struct Goods {
int weight;
int value;
};
bool cmp(Goods a, Goods b) {
return a.value > b.value;
}
int main() {
int n, C;
cin >> n >> C;
Goods goods[n];
for (int i = 0; i < n; i++) {
cin >> goods[i].weight >> goods[i].value;
}
sort(goods, goods + n, cmp);
int ans = 0;
for (int i = 0; i < n; i++) {
if (C >= goods[i].weight) {
ans += goods[i].value;
C -= goods[i].weight;
} else {
ans += C * goods[i].value / goods[i].weight;
break;
}
}
cout << ans << endl;
return 0;
}
```
阅读全文