Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
min(avail, needs) solution in Clear category for Blood distribution by kurosawa4434
def distribute_blood(blood_avail, blood_needs):
distribution = {b: {'A': 0, 'B': 0, 'O': 0, 'AB': 0} for b in ('A', 'B', 'O', 'AB')}
for a, needs in (('A', ('A', 'AB')),
('B', ('B', 'AB')),
('O', ('A', 'B', 'O', 'AB')),
('AB', ('A', 'B', 'AB'))):
for n in needs:
blood = min(blood_avail[a], blood_needs[n])
blood_needs[n] -= blood
blood_avail[a] -= blood
distribution[a][n] += blood
return distribution
May 27, 2023
Comments: