## P2240 【深基12.例1】部分背包问题
数据结构选择
python没有结构体,选用二维数组(物品价值、重量)存储单个物品方便排序
根据贪心策略,首先计算性价比,然后按性价比由大到小排序,只要没有达到背包承载的重量,就装入。
```python
num,capacity=map(int,input().split())
arr=[[10000000,0.1] for i in range(101)]
for i in range(num):
arr[i]=input().split()
arr[i]=[int(j) for j in arr[i]]
# arr[i].append(i)
# print(arr[i])
arr.sort(key=lambda arr:arr[1]/arr[0],reverse=True)
sum=0
for item in arr:
if capacity<item[0]:
sum+=capacity*item[1]/item[0]
break
sum+=item[1]
capacity-=item[0]
print('%.2f'%sum)