advent2022/nine.py

21 lines
483 B
Python
Raw Normal View History

2022-12-11 14:06:36 +02:00
#!/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))]
m = defaultdict(lambda: 0)
h = np.asarray([0, 0])
t = np.asarray([0, 0])
for s, l in p:
for i in range(l):
h += s
if(np.any(np.absolute(h - t) > 1)):
t = h + np.fix((t - h) / 2)
m[str(t)] = True
print(len(m.values()))