You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4 years ago
1234567891011121314151617181920212223242526
  1. import collections
  2. import sys
  3. import toolkit
  4. def handle(string):
  5. if string.startswith('value'):
  6. _, value, _, _, t0, i0 = string.split()
  7. regs[t0 + i0].append(int(value))
  8. return True
  9. elif string.startswith('bot'):
  10. t0, i0, _, _, _, t1, i1, _, _, _, t2, i2 = string.split()
  11. try:
  12. lo, hi = sorted(regs[t0 + i0])
  13. except ValueError:
  14. return False
  15. regs[t1 + i1].append(lo)
  16. regs[t2 + i2].append(hi)
  17. return True
  18. regs = collections.defaultdict(list)
  19. toolkit.loop_consume(sys.stdin.read().splitlines(), handle)
  20. print(next(k for k, v in regs.items() if set(v) == {17, 61}))
  21. print(regs['output0'][0] * regs['output1'][0] * regs['output2'][0])