Advertisement
Guest User

Untitled

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