advent2022/nine.py

24 lines
628 B
Python
Executable File

#!/usr/bin/env python3
from useful import *
def d(p):
return np.asarray({
'R': [0,1],
'L': [0,-1],
'D': [1,0],
'U': [-1,0]}[p])
p = [[d(l[0]), int(l.split()[-1])] for l in lines(open(0))]
a = defaultdict(lambda: 0)
b = defaultdict(lambda: 0)
r = [np.asarray([0, 0]) for i in range(10)]
for s, l in p:
for i in range(l):
r[0] += s
for i in range(1, 10):
if(np.any(np.absolute(r[i-1] - r[i]) > 1)):
r[i] = r[i-1] + np.fix((r[i] - r[i-1]) / 2)
a[str(r[1])] = True
b[str(r[9])] = True
print(len(a.values()))
print(len(b.values()))