Working on 2023-12-09 p2
This commit is contained in:
parent
7b4c3e3536
commit
e2ecfaedad
50
2023/day9/part2.py
Normal file
50
2023/day9/part2.py
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
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)
|
3
2023/day9/test
Normal file
3
2023/day9/test
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
0 3 6 9 12 15
|
||||||
|
1 3 6 10 15 21
|
||||||
|
10 13 16 21 30 45
|
Loading…
Reference in New Issue
Block a user