Optimize with help from dubiass
This commit is contained in:
parent
6769882ac0
commit
bf84429f99
35
8/8p1.py
35
8/8p1.py
|
@ -15,25 +15,18 @@ def get_value(registers, register):
|
|||
def compare(registers, operation, register, b):
|
||||
result = False
|
||||
a = get_value(registers, register)
|
||||
b = int(b)
|
||||
|
||||
if operation == '>':
|
||||
if a > b:
|
||||
if operation == '>' and a > b:
|
||||
result = True
|
||||
elif operation == '<':
|
||||
if a < b:
|
||||
elif operation == '<' and a < b:
|
||||
result = True
|
||||
elif operation == '>=':
|
||||
if a >= b:
|
||||
elif operation == '>=' and a >= b:
|
||||
result = True
|
||||
elif operation == '<=':
|
||||
if a <= b:
|
||||
elif operation == '<=' and a <= b:
|
||||
result = True
|
||||
elif operation == '!=':
|
||||
if a != b:
|
||||
elif operation == '!=' and a != b:
|
||||
result = True
|
||||
elif operation == '==':
|
||||
if a == b:
|
||||
elif operation == '==' and a == b:
|
||||
result = True
|
||||
|
||||
return result
|
||||
|
@ -43,15 +36,13 @@ def solve(filename):
|
|||
registers = {}
|
||||
|
||||
with open(filename, "r") as fp:
|
||||
for line in fp:
|
||||
values = line.split()
|
||||
if compare(registers, values[5], values[4], values[6]):
|
||||
if values[1] == 'inc':
|
||||
registers[values[0]] = (get_value(registers, values[0])
|
||||
+ int(values[2]))
|
||||
elif values[1] == 'dec':
|
||||
registers[values[0]] = (get_value(registers, values[0])
|
||||
- int(values[2]))
|
||||
for l in fp:
|
||||
reg1, op, val1, _, reg2, cond, val2 = l.rstrip().split()
|
||||
if compare(registers, cond, reg2, int(val2)):
|
||||
if op == 'inc':
|
||||
registers[reg1] = (get_value(registers, reg1) + int(val1))
|
||||
elif op == 'dec':
|
||||
registers[reg1] = (get_value(registers, reg1) - int(val1))
|
||||
|
||||
biggest = 0
|
||||
for i in registers:
|
||||
|
|
46
8/8p2.py
46
8/8p2.py
|
@ -9,31 +9,24 @@ def get_value(registers, register):
|
|||
if register not in registers:
|
||||
registers[register] = 0
|
||||
|
||||
return int(registers[register])
|
||||
return registers[register]
|
||||
|
||||
|
||||
def compare(registers, operation, register, b):
|
||||
result = False
|
||||
a = get_value(registers, register)
|
||||
b = int(b)
|
||||
|
||||
if operation == '>':
|
||||
if a > b:
|
||||
if operation == '>' and a > b:
|
||||
result = True
|
||||
elif operation == '<':
|
||||
if a < b:
|
||||
elif operation == '<' and a < b:
|
||||
result = True
|
||||
elif operation == '>=':
|
||||
if a >= b:
|
||||
elif operation == '>=' and a >= b:
|
||||
result = True
|
||||
elif operation == '<=':
|
||||
if a <= b:
|
||||
elif operation == '<=' and a <= b:
|
||||
result = True
|
||||
elif operation == '!=':
|
||||
if a != b:
|
||||
elif operation == '!=' and a != b:
|
||||
result = True
|
||||
elif operation == '==':
|
||||
if a == b:
|
||||
elif operation == '==' and a == b:
|
||||
result = True
|
||||
|
||||
return result
|
||||
|
@ -42,20 +35,19 @@ def compare(registers, operation, register, b):
|
|||
def solve(filename):
|
||||
registers = {}
|
||||
big = 0
|
||||
|
||||
with open(filename, "r") as fp:
|
||||
for line in fp:
|
||||
values = line.split()
|
||||
if compare(registers, values[5], values[4], values[6]):
|
||||
if values[1] == 'inc':
|
||||
registers[values[0]] = (get_value(registers, values[0])
|
||||
+ int(values[2]))
|
||||
if registers[values[0]] > big:
|
||||
big = registers[values[0]]
|
||||
elif values[1] == 'dec':
|
||||
registers[values[0]] = (get_value(registers, values[0])
|
||||
- int(values[2]))
|
||||
if registers[values[0]] > big:
|
||||
big = registers[values[0]]
|
||||
for l in fp:
|
||||
reg1, op, val1, _, reg2, cond, val2 = l.rstrip().split()
|
||||
if compare(registers, cond, reg2, int(val2)):
|
||||
if op == 'inc':
|
||||
registers[reg1] = (get_value(registers, reg1) + int(val1))
|
||||
if registers[reg1] > big:
|
||||
big = registers[reg1]
|
||||
elif op == 'dec':
|
||||
registers[reg1] = (get_value(registers, reg1) - int(val1))
|
||||
if registers[reg1] > big:
|
||||
big = registers[reg1]
|
||||
|
||||
return big
|
||||
|
||||
|
|
Loading…
Reference in New Issue