選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

32 行
610B

  1. import re
  2. import sys
  3. def reval1(ln):
  4. a, *rest = ln.split()
  5. for b, c in zip(*[iter(rest)] * 2):
  6. a = eval(f'{a} {b} {c}')
  7. return a
  8. def reval2(ln):
  9. while '+' in ln:
  10. ln = re.sub(r'\d+ \+ \d+', lambda m: str(eval(m.group(0))), ln)
  11. return eval(ln)
  12. def process(ln, reval):
  13. while '(' in ln:
  14. ln = re.sub(r'\(([^\(\)]+)\)', lambda m: str(reval(m.group(1))), ln)
  15. return reval(ln)
  16. text = sys.stdin.read()
  17. ans1 = 0
  18. ans2 = 0
  19. for ln in text.splitlines():
  20. ans1 += int(process(ln, reval=reval1))
  21. ans2 += int(process(ln, reval=reval2))
  22. print(ans1)
  23. print(ans2)