Advertisement
updown

Contaminated Milk Psuedocode

Apr 22nd, 2024
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. int doses = 0
  2.  
  3. for milk = 1...M:
  4. // Step 1: Determine if that milk can be the bad milk [DONE]
  5.  
  6. // Everyone who gets sick only gets sick after drinking the bad milk [DONE]
  7.  
  8. boolean everyone_sick_after_bad = true;
  9.  
  10. for sick = 1...S:
  11. int person_sick = sick_event[sick][0]
  12. int time_sick = sick_event[sick][1]
  13.  
  14. // make sure they drank the bad milk before they got sick [DONE]
  15. boolean drank_before_sick = false;
  16. for event = 1... D:
  17. int person_event = drink_event[event][0]
  18. int milk_event = drink_event[event][1]
  19. int time_event = drink_event[event][2]
  20.  
  21. if milk_event == milk and person_event == person_sick and time_event < time_sick:
  22. drank_before_sick = true
  23.  
  24. if drank_before_sick == false:
  25. everyone_sick_after_bad = false
  26.  
  27.  
  28.  
  29. if everyone_sick_after_bad == true:
  30. // Step 2: Determine how many doses of medicine are needed
  31. // Count the number of cows that drank the bad milk
  32. boolean array called drank_milk of length N
  33. // drank_milk[person] = T/F whether they drank the milk
  34. for i = 1... N:
  35. drank_milk[i] = false
  36.  
  37. for event = 1...D:
  38. if drink_event[event][1] == milk:
  39. person = drink_event[event][0]
  40. drank_milk[person] = true
  41.  
  42. // Count the number of true elements in drank_milk
  43. // That is the number of doses of medicine we need
  44.  
  45. if count_true > doses:
  46. doses = count_true
  47.  
  48. doses = max(doses, count_true)
  49.  
  50. output doses
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement