Advertisement
Guest User

Untitled

a guest
Feb 3rd, 2022
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.98 KB | None | 0 0
  1. from collections import deque
  2.  
  3.  
  4. def check_mixed_firework(mix):
  5.     firework_type = ''
  6.     if mix % 3 == 0 and mix % 5 != 0:
  7.         firework_type = 'palm firework'
  8.     elif mix % 3 != 0 and mix % 5 == 0:
  9.         firework_type = 'willow firework'
  10.     elif mix % 3 == 0 and mix % 5 == 0:
  11.         firework_type = 'crossette firework'
  12.     return firework_type
  13.  
  14.  
  15. firework_effects = deque(int(n) for n in input().split(', '))
  16. explosive_powers = [int(n) for n in input().split(', ')]
  17.  
  18. palm_fireworks = 0
  19. willow_fireworks = 0
  20. crossette_fireworks = 0
  21.  
  22. success = False
  23.  
  24. while True:
  25.     current_firework = firework_effects[0]
  26.     current_power = explosive_powers[-1]
  27.  
  28.     if current_firework <= 0:
  29.         firework_effects.popleft()
  30.         if not firework_effects:
  31.             break
  32.         current_firework = firework_effects[0]
  33.     elif current_power <= 0:
  34.         explosive_powers.pop()
  35.         if not explosive_powers:
  36.             break
  37.         current_power = explosive_powers[-1]
  38.  
  39.     attempt_to_mix = current_firework + current_power
  40.     result = check_mixed_firework(attempt_to_mix)
  41.  
  42.     if current_firework > 0 and current_power > 0:
  43.         if result == 'palm firework':
  44.             palm_fireworks += 1
  45.         elif result == 'willow firework':
  46.             willow_fireworks += 1
  47.         elif result == 'crossette firework':
  48.             crossette_fireworks += 1
  49.         else:
  50.             while True:
  51.                 current_firework -= 1
  52.                 firework_effects.popleft()
  53.                 firework_effects.append(current_firework)
  54.                 current_firework = firework_effects[0]
  55.                 new_mix_attempt = current_firework + current_power
  56.                 result = check_mixed_firework(new_mix_attempt)
  57.                 if result == 'palm firework':
  58.                     palm_fireworks += 1
  59.                     break
  60.                 elif result == 'willow firework':
  61.                     willow_fireworks += 1
  62.                     break
  63.                 elif result == 'crossette firework':
  64.                     crossette_fireworks += 1
  65.                     break
  66.  
  67.         firework_effects.popleft()
  68.         explosive_powers.pop()
  69.  
  70.     if not firework_effects or not explosive_powers:
  71.         if palm_fireworks >= 3 and willow_fireworks >= 3 and crossette_fireworks >= 3:
  72.             success = True
  73.         break
  74.  
  75.     if palm_fireworks >= 3 and willow_fireworks >= 3 and crossette_fireworks >= 3:
  76.         success = True
  77.         break
  78.  
  79.  
  80. if success:
  81.     print('Congrats! You made the perfect firework show!')
  82. else:
  83.     print("Sorry. You can't make the perfect firework show.")
  84.  
  85. if firework_effects:
  86.     print(f"Firework Effects left: {', '.join(str(effect) for effect in firework_effects)}")
  87. if explosive_powers:
  88.     print(f"Explosive Power left: {', '.join(str(power) for power in explosive_powers)}")
  89.  
  90. print(f'Palm Fireworks: {palm_fireworks}')
  91. print(f'Willow Fireworks: {willow_fireworks}')
  92. print(f'Crossette Fireworks: {crossette_fireworks}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement