#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 条评论

  • 1

信息

ID
1279
时间
1000ms
内存
256MiB
难度
5
标签
递交数
38
已通过
16
上传者