Skip to content

Commit b7f26ea

Browse files
WIP 2016 d01
1 parent 6a0b022 commit b7f26ea

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed

2016/d01/d01.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import math
2+
3+
4+
def get_input():
5+
with open('test.txt') as f:
6+
data = f.read()
7+
8+
data = data.strip().split(',')
9+
data = [s.strip() for s in data]
10+
return data
11+
12+
13+
def vec_add(v1, v2):
14+
x1, y1 = v1
15+
x2, y2 = v2
16+
return [x1 + x2, y1 + y2]
17+
18+
19+
def manh_dist(v1, v2):
20+
x1, y1 = v1
21+
x2, y2 = v2
22+
return abs(x1 - x2) +abs(y1 - y2)
23+
24+
25+
def part1(data):
26+
cur_pos = [0, 0]
27+
cur_face = 0
28+
dirs = [
29+
[0, 1],
30+
[1, 0],
31+
[0, -1],
32+
[-1, 0],
33+
]
34+
35+
for item in data:
36+
d, step = item[0], int(item[1:])
37+
if d == 'L':
38+
cur_face = (cur_face - 1) % 4
39+
else:
40+
cur_face = (cur_face + 1) % 4
41+
42+
idx = (cur_face + 1) % 2
43+
new_vec = dirs[cur_face]
44+
new_vec[idx] = new_vec[idx] * step
45+
cur_pos = vec_add(cur_pos, new_vec)
46+
47+
print(cur_pos)
48+
print(manh_dist([0, 0], cur_pos))
49+
50+
51+
data = get_input()
52+
part1(data)

2016/d01/input.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
L4, L1, R4, R1, R1, L3, R5, L5, L2, L3, R2, R1, L4, R5, R4, L2, R1, R3, L5, R1, L3, L2, R5, L4, L5, R1, R2, L1, R5, L3, R2, R2, L1, R5, R2, L1, L1, R2, L1, R1, L2, L2, R4, R3, R2, L3, L188, L3, R2, R54, R1, R1, L2, L4, L3, L2, R3, L1, L1, R3, R5, L1, R5, L1, L1, R2, R4, R4, L5, L4, L1, R2, R4, R5, L2, L3, R5, L5, R1, R5, L2, R4, L2, L1, R4, R3, R4, L4, R3, L4, R78, R2, L3, R188, R2, R3, L2, R2, R3, R1, R5, R1, L1, L1, R4, R2, R1, R5, L1, R4, L4, R2, R5, L2, L5, R4, L3, L2, R1, R1, L5, L4, R1, L5, L1, L5, L1, L4, L3, L5, R4, R5, R2, L5, R5, R5, R4, R2, L1, L2, R3, R5, R5, R5, L2, L1, R4, R3, R1, L4, L2, L3, R2, L3, L5, L2, L2, L1, L2, R5, L2, L2, L3, L1, R1, L4, R2, L4, R3, R5, R3, R4, R1, R5, L3, L5, L5, L3, L2, L1, R3, L4, R3, R2, L1, R3, R1, L2, R4, L3, L3, L3, L1, L2

2016/d01/test.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
R2, R2, R2

0 commit comments

Comments
 (0)