mirror of
https://github.com/Xevion/advent-of-code.git
synced 2025-12-07 11:14:21 -06:00
2019 day-2 p1 p2 20min slow as hell
This commit is contained in:
@@ -2,4 +2,27 @@ import os
|
||||
import sys
|
||||
|
||||
PATH = os.path.join(sys.path[0], '..', 'input')
|
||||
DATA = list(map(int, open(PATH, 'r').readlines()))
|
||||
orig = list(map(int, open(PATH, 'r').read().split(',')))
|
||||
|
||||
def calculate(noun, verb):
|
||||
arr = orig.copy()
|
||||
arr[1] = noun
|
||||
arr[2] = verb
|
||||
curpos = 0
|
||||
while curpos < len(arr):
|
||||
if arr[curpos] == 1:
|
||||
arr[arr[curpos + 3]] = arr[arr[curpos + 1]] + arr[arr[curpos + 2]]
|
||||
elif arr[curpos] == 2:
|
||||
arr[arr[curpos + 3]] = arr[arr[curpos + 1]] * arr[arr[curpos + 2]]
|
||||
elif arr[curpos] == 99:
|
||||
# print(f'Stopped at {curpos}')
|
||||
break
|
||||
curpos += 4
|
||||
return arr[0]
|
||||
|
||||
print(calculate(12, 2))
|
||||
|
||||
for noun in range(0, 100):
|
||||
for verb in range(0, 100):
|
||||
if calculate(noun, verb) == 19690720:
|
||||
print(100 * noun + verb)
|
||||
Reference in New Issue
Block a user