这道题需要你根据给定的不同物体的分布数量得出为全部装下它们的箱子个数,贪心策略很好构建,首先显然4*4、5*5、6*6只能占据一个箱子,然后3*3不能放在之前的箱子里面(必须拿新的箱子装),最后2*2和1*1按照要求往里面塞就可以了。
直接上代码叭~
from math import ceil
lst = [0, 5, 3, 1]
while True:
a, b, c, d, e, f = map(int, input().split())
if a+b+c+d+e+f == 0:
break
ans = d+e+f+ceil(c/4)
nb = b-(5*d+lst[c % 4])
if nb > 0:
ans += ceil(nb/9)
na = a-(36*ans-4*b-9*c-16*d-25*e-36*f)
if na > 0:
ans += ceil(na/36)
print(ans)