AdventOfCode/2023/day9/part2.py

51 lines
853 B
Python

import sys
from pprint import pprint
from functools import reduce
maps = []
with open(sys.argv[1]) as file:
for line in file:
maps.append([int(x) for x in line.rstrip().split(' ')])
t = []
def calc(line):
global t
t.append(line)
print(line)
diff = []
for i in range(0,len(line)-1):
diff.append(line[i+1]-line[i])
if not all(v == 0 for v in diff):
last.append(diff[-1])
calc(diff)
else:
print(diff)
return 0
prev = 0
result = []
for mdx,m in enumerate(maps):
t = []
left = []
last = []
last.append(m[-1])
last.append(calc(m))
result.append(reduce(lambda x, y: x+y, last))
print(t)
pprint(last)
print(sum(result))
pprint(t)
tx = []
tmp = 0
for i in range(len(t)-1,-1,-1):
tx.append(t[i][0])
tmp = t[i][0] - tmp
print(tx)
print(tmp)