Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

38 lines
731B

  1. import sys
  2. def unzip_len(text, recurse=False):
  3. ptr = 0
  4. size = 0
  5. while ptr < len(text):
  6. if text[ptr] == '(':
  7. ptr += 1
  8. l1 = ptr + text[ptr:].index('x')
  9. l2 = ptr + text[ptr:].index(')')
  10. span = int(text[ptr:l1])
  11. repeat = int(text[l1 + 1:l2])
  12. l3 = l2 + 1
  13. l4 = l3 + span
  14. frag = text[l3:l4]
  15. length = unzip_len(frag, True) if recurse else len(frag)
  16. ptr = l4
  17. size += int(repeat) * length
  18. else:
  19. ptr += 1
  20. size += 1
  21. return size
  22. text = sys.stdin.read().strip()
  23. ans1 = unzip_len(text)
  24. print(ans1)
  25. ans2 = unzip_len(text, recurse=True)
  26. print(ans2)