解题思路:
贪心加排序,可得将货物的平均价格作为排序的根据从大到下排序,因为求的是最大值。
参考代码:
n,w = map(int,input().split()) nums = [] for _ in range(n): a,b = map(int,input().split()) nums.append([a,b,b/a]) nums = sorted(nums,key=lambda nums:nums[2],reverse=True) sum = 0.0 for num in nums: if num[0]>=w: sum += w*num[2] break else: sum += num[1] w -= num[0] print("%.1f"%(sum))
0.0分
1 人评分
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:753 |
C语言训练-求函数值 (C语言代码)浏览:910 |
程序员的表白 (C语言代码)浏览:1457 |
C语言程序设计教程(第三版)课后习题7.2 (Java代码)浏览:681 |
C语言训练-大、小写问题 (C语言代码)浏览:2349 |
【亲和数】 (C语言代码)浏览:855 |
Pascal三角 (C语言代码)格式错误浏览:516 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1282 |
WU-输入输出格式练习 (C++代码)浏览:1076 |
程序员的表白 (C语言代码)浏览:588 |