解题思路:
贪心加排序,可得将货物的平均价格作为排序的根据从大到下排序,因为求的是最大值。
参考代码:
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 人评分
简单的a+b (C语言代码)浏览:530 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:867 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1059 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1229 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:1433 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:609 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:690 |
C二级辅导-计负均正 (C语言代码)浏览:482 |
第三届阿里中间件性能挑战赛-总决赛亚军比赛攻略浏览:1145 |
输入输出格式练习 (C语言代码)浏览:753 |