解题思路:
贪心加排序,可得将货物的平均价格作为排序的根据从大到下排序,因为求的是最大值。
参考代码:
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语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:559 |
破解简单密码 (C语言代码)浏览:1866 |
C语言程序设计教程(第三版)课后习题9.3 (Java代码)浏览:1025 |
A+B for Input-Output Practice (V) (C++代码)浏览:485 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1178 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:631 |
C语言训练-亲密数 (C语言代码)浏览:697 |
蚂蚁感冒 (C语言代码)浏览:1408 |
1126题解浏览:649 |
1050题解(结构体数组与结构体指针的使用)浏览:1216 |