adventofcode

https://adventofcode.com/
Log | Files | Refs

puzzle8.py (1152B)


      1 with open('files/puzzle8.txt') as f:
      2     instructions = f.readlines()
      3 
      4 registers = {}
      5 max_register = 0
      6 
      7 for line in instructions:
      8     tokens = line.split(" ")
      9 
     10     if tokens[0] not in registers:
     11         registers[tokens[0]] = 0
     12     if tokens[4] not in registers:
     13         registers[tokens[4]] = 0
     14 
     15     value = int(tokens[2])
     16     if tokens[1] == "dec":
     17         value *= -1
     18 
     19     modify_register = False
     20 
     21     if tokens[5] == "<":
     22         modify_register = registers[tokens[4]] <  int(tokens[6])
     23     if tokens[5] == ">":
     24         modify_register = registers[tokens[4]] >  int(tokens[6])
     25     if tokens[5] == "<=":
     26         modify_register = registers[tokens[4]] <= int(tokens[6])
     27     if tokens[5] == ">=":
     28         modify_register = registers[tokens[4]] >= int(tokens[6])
     29     if tokens[5] == "==":
     30         modify_register = registers[tokens[4]] == int(tokens[6])
     31     if tokens[5] == "!=":
     32         modify_register = registers[tokens[4]] != int(tokens[6])
     33 
     34     if modify_register:
     35         registers[tokens[0]] += value
     36     if max(registers.values()) > max_register:
     37         max_register = max(registers.values())
     38 
     39 print max(registers.values())
     40 print max_register