Guest User

Untitled

a guest
Aug 18th, 2020
490
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.54 KB | None | 0 0
  1. from collections import deque
  2.  
  3. materials = [int(x) for x in input().split()]
  4. magic_level = deque(int(x) for x in input().split())
  5.  
  6. pattern = {
  7.     150: 'Doll',
  8.     250: 'Wooden train',
  9.     300: 'Teddy bear',
  10.     400: 'Bicycle',
  11. }
  12.  
  13. counters = {}
  14.  
  15. while True:
  16.     if not materials or not magic_level:
  17.         break
  18.     material = materials.pop()
  19.     m_lvl = magic_level.popleft()
  20.     total_magic_lvl = material * m_lvl
  21.  
  22.     if total_magic_lvl in pattern.keys():
  23.         if pattern[total_magic_lvl] not in counters.keys():
  24.             counters[pattern[total_magic_lvl]] = 1
  25.             continue
  26.         counters[pattern[total_magic_lvl]] += 1
  27.         continue
  28.  
  29.     if total_magic_lvl < 0:
  30.         materials.append(material + m_lvl)
  31.  
  32.     elif total_magic_lvl > 0:
  33.         material += 15
  34.         materials.append(material)
  35.  
  36.     elif total_magic_lvl == 0:
  37.         if material != 0:
  38.             materials.append(material)
  39.         if m_lvl != 0:
  40.             magic_level.appendleft(m_lvl)
  41.  
  42. if 'Doll' in counters.keys() and 'Wooden train' in counters.keys() or \
  43.         'Teddy bear' in counters.keys() and 'Bicycle' in counters.keys():
  44.     print("The presents are crafted! Merry Christmas!")
  45. else:
  46.     print("No presents this Christmas!")
  47. if materials:
  48.     materials = materials[::-1]
  49.     print(f"Materials left: {', '.join(str(x) for x in materials)}")
  50. if magic_level:
  51.     print(f"Magic left: {', '.join(str(x) for x in magic_level)}")
  52.  
  53. for key, value in sorted(counters.items(), key=lambda x: x[0]):
  54.     print(f"{key}: {value}")
Advertisement
Add Comment
Please, Sign In to add comment