diff --git a/nine.py b/nine.py index ffe0157..2c5599b 100755 --- a/nine.py +++ b/nine.py @@ -8,13 +8,16 @@ def d(p): '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]) +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): - 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())) + 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()))