又是不会写的一天,想法很简单,就是将重量价值比从大到小排序一下,但是怎么连带着m,v一起排呢
太没用了,又去看了题解,竟然直接用一个struct,更改一下sort的cmp,用sort
或者不用struct,冒泡排序,三个数组一起排序。
struct coin{
double w;//后面相除得考虑精度问题,所以不用int,不然得*1.0,强制转换
double p;
}a[101];
bool cmp(coin x,coin y) {
return x.p*y.w>y.p*x.w;//用乘法替代除法,注意sort的规则,我们是要从大到小排序
}
int main() {
int n,t;
double s=0;
cin>>n>>t;
for(int i=0;i<n;i++) cin>>a[i].w>><