全WA...难受
查看原帖
全WA...难受
460610
XuanRanDev楼主2021/2/13 23:43

自己测试没问题,一提交全WA

#include "bits/stdc++.h"

using namespace std;

struct BaoZang{
	
	int duishu,jiazhi;
	double bili;
};

bool cmp(BaoZang a,BaoZang b){
	return a.duishu*b.jiazhi>b.jiazhi*a.duishu;//价值排序 
}

main(){
	
	int num,BB;
	
	cin >> num >> BB;
	
	BaoZang Bz[num];
	
	for(int i = 0;i<num;i++){
		cin >> Bz[i].duishu >> Bz[i].jiazhi;
		Bz[i].bili = Bz[i].jiazhi / Bz[i].duishu;
	}
	sort(Bz,Bz+num,cmp);
	
	double result = 0;//当前背包价值
	int current_rl = 0;//当前背包容量 
	int flag = 0;
	while(current_rl<BB){
		//cout << current_rl << "\n";
		//如果背包能装下那就装 
		if(current_rl+Bz[flag].duishu <= BB){
			
			current_rl += Bz[flag].duishu;
			result += Bz[flag].jiazhi;
			//cout << result << "\n";
			
		}else{
			//计算背包容量
			int c = BB-current_rl;
			current_rl += c;
			result +=1.0*Bz[flag].bili*c; 
			break;
		}
		flag++;
	}	
	
	//cout << result;
	printf("%.2lf",result);
	
	return 0;
} 

2021/2/13 23:43
加载中...