解题思路:
贪心加排序,可得将货物的平均价格作为排序的根据从大到下排序,因为求的是最大值。
参考代码:
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 人评分
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1066 |
C语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1326 |
淘淘的名单 (C语言代码)答案错误???浏览:593 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:580 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:613 |
母牛的故事 (C语言代码)浏览:1427 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:557 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1028 |
分解质因数 (C++代码)浏览:1471 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:498 |