求大佬看一下为什么过不去第一个节点?
查看原帖
求大佬看一下为什么过不去第一个节点?
451582
codecat8楼主2021/4/16 13:36
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int N = 110;
struct gold{
	int m; // 重量 
	int weath; //价值
	double rate; 
};
gold g[N];
bool cmp(gold a,gold b){
	return a.rate > b.rate;
}

int n,t;
int main(){
	cin >> n >> t;
	for(int i = 0 ; i < n ; i ++){
		cin >> g[i].m >> g[i].weath;
		g[i].rate = g[i].weath*1.0/g[i].m;
	}
	sort(g,g+n,cmp);
	double ans = 0;
	for(int i = 0 ; i < n ; i ++){
		for(int j = 0 ; j < g[i].m;j++){
			ans += g[i].rate;
			t--;
			if(t == 0){
				printf("%0.2lf",ans);
				return 0;
			}
		}
		
		
	}
	return 0;
}
2021/4/16 13:36
加载中...