- 【例85.1】 金银岛
答案
- 2024-4-15 20:05:04 @
#include <bits/stdc++.h> using namespace std; //性价比高 struct js { ** int weight , value;** ** double vw;**// };
js sb[200];//最多100个,多开100
bool cmp(js js1 , js js2)** **{ ** /*if (js1.vw==js2.vw) { return js1.weight<js2.weight; }*/ ** return js1.vw > js2.vw; }
int main () { ** int k;** ** cin >> k;** ** for (int i = 1 ; i <= k ; i++) { ** int w , s; ** cin >> w >> s;** ** for (int j = 0 ; j < s ; j++) { ** cin >> sb[j].weight >> sb[j].value; ** sb[j].vw = sb[j].value * 1.0 / sb[j].weight;** ** } ** sort(sb , sb + s , cmp); //结构体的排序必须写cmp函数 ** double vl = 0;** //总价值 ** for (int j = 0 ; j < s ; j++) { ** if (w >= sb[j].weight) { ** w -= sb[j].weight; ** vl += sb[j].value; ** } else { ** vl += sb[j].vw * w; ** w = 0;** ** break;** ** } ** } ** cout.precision(2); ** cout << fixed << vl << endl; ** } ** return 0; }
1 条评论
-
ptxy1031 LV 7 @ 2024-7-29 9:57:03
11111
- 1
信息
- ID
- 1279
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 38
- 已通过
- 16
- 上传者