#王道机试指南第二版第119页题目FatMouse#
那我也记录一下,欢迎大家给出建议!!!
#include <iostream>
(5488)#include <cstdio>
#include <algorithm>
using namespace std;

struct W_VS_P {
float w_vs_p;
int weight;
int price;
}num[1000];

bool compare(W_VS_P a,W_VS_P b) {

return a.w_vs_p>b.w_vs_p;
}
int main() {
int M, N;
float count = 0,J[1000] = { 0 }, F[1000] = { 0 };
while (cin>>M>>N)
{
if (M==-1 && N==-1) {
break;
}

for (int i = 0; i < N; i++) {
cin >> J[i] >> F[i];
num[i].w_vs_p = J[i] / F[i];
num[i].weight = J[i];
num[i].price = F[i];
}
sort(num,num+N,compare);
for (int j = 0; j < N; j++) {
if (M > num[j].price) {
M -= num[j].price;
count += num[j].weight;
}
else if(M>0&&M<num[j].price)
{
count+=M* (num[j].w_vs_p);
break;
}
}
printf("%.3f",count);
}
}
全部评论

相关推荐

2025-12-31 18:42
复旦大学 Java
点赞 评论 收藏
分享
2025-12-18 18:50
已编辑
门头沟学院 golang
牛客33637108...:重点是要事已密成,在没有进入这家公司之前,不要有任何的泄露信息,我之前跟你一样,面了一家光伏设备厂,底薪7500加上出差补贴大概有13,000左右,已经给了口头offer了,甚至要了我的在校成绩的所有信息,还向我要了三方的网签二维码,到后面还是毁约了,我干过最愚蠢的事情就是向同学透露要签三方的事,之后的失败只会让他们幸灾乐祸,这是即将结束的大学生活给我的最后一课,不要相信任何的口头三方,该面的就去面,甚至签了三方也有毁约的可能,就像我现在签了三方还在外面实习呢,春招还是要继续参加的,不能停止面试,不然到后面毁三方的时候,重新捡起的面试很麻烦的,这是我一点点小小的见解。
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务