mid-kid
4 years ago
3 changed files with 810 additions and 0 deletions
@ -0,0 +1,37 @@ |
|||||
|
#!/usr/bin/env python3 |
||||
|
|
||||
|
from sys import argv |
||||
|
|
||||
|
i = [(x[0], int(x[1:].strip())) for x in open(argv[1])] |
||||
|
|
||||
|
v = (0,0,0) |
||||
|
for d in i: |
||||
|
if d[0] == "F": |
||||
|
dv = [(1,0), (0,-1), (-1,0), (0,1)][(v[2]//90)%4] |
||||
|
v = (v[0]+dv[0]*d[1],v[1]+dv[1]*d[1],v[2]) |
||||
|
continue |
||||
|
v = { |
||||
|
"N": lambda x: (v[0],v[1]+x,v[2]), |
||||
|
"S": lambda x: (v[0],v[1]-x,v[2]), |
||||
|
"E": lambda x: (v[0]+x,v[1],v[2]), |
||||
|
"W": lambda x: (v[0]-x,v[1],v[2]), |
||||
|
"R": lambda x: (v[0],v[1],v[2]+x), |
||||
|
"L": lambda x: (v[0],v[1],v[2]-x), |
||||
|
}[d[0]](d[1]) |
||||
|
print(abs(v[0])+abs(v[1])) |
||||
|
|
||||
|
v = (10,1) |
||||
|
s = (0,0) |
||||
|
for d in i: |
||||
|
if d[0] == "F": |
||||
|
s = (s[0]+v[0]*d[1],s[1]+v[1]*d[1]) |
||||
|
continue |
||||
|
v = { |
||||
|
"N": lambda x: (v[0],v[1]+x), |
||||
|
"S": lambda x: (v[0],v[1]-x), |
||||
|
"E": lambda x: (v[0]+x,v[1]), |
||||
|
"W": lambda x: (v[0]-x,v[1]), |
||||
|
"R": lambda x: [(v[0],v[1]), (v[1],-v[0]), (-v[0],-v[1]), (-v[1],v[0])][(x//90)%4], |
||||
|
"L": lambda x: [(v[0],v[1]), (-v[1],v[0]), (-v[0],-v[1]), (v[1],-v[0])][(x//90)%4], |
||||
|
}[d[0]](d[1]) |
||||
|
print(abs(s[0])+abs(s[1])) |
@ -0,0 +1,771 @@ |
|||||
|
F92 |
||||
|
R180 |
||||
|
S1 |
||||
|
F64 |
||||
|
R90 |
||||
|
S1 |
||||
|
E1 |
||||
|
F11 |
||||
|
N4 |
||||
|
R180 |
||||
|
S3 |
||||
|
E3 |
||||
|
F55 |
||||
|
R90 |
||||
|
N1 |
||||
|
E4 |
||||
|
L180 |
||||
|
F9 |
||||
|
N3 |
||||
|
R90 |
||||
|
W4 |
||||
|
N4 |
||||
|
F36 |
||||
|
L90 |
||||
|
F50 |
||||
|
E3 |
||||
|
F9 |
||||
|
E5 |
||||
|
S1 |
||||
|
W2 |
||||
|
E4 |
||||
|
R180 |
||||
|
N3 |
||||
|
F18 |
||||
|
N2 |
||||
|
S5 |
||||
|
W1 |
||||
|
F41 |
||||
|
E3 |
||||
|
N4 |
||||
|
F66 |
||||
|
R270 |
||||
|
F22 |
||||
|
N5 |
||||
|
E4 |
||||
|
N1 |
||||
|
L90 |
||||
|
W1 |
||||
|
N1 |
||||
|
R90 |
||||
|
F87 |
||||
|
E1 |
||||
|
N4 |
||||
|
E1 |
||||
|
L90 |
||||
|
E5 |
||||
|
L180 |
||||
|
F84 |
||||
|
S5 |
||||
|
F65 |
||||
|
N2 |
||||
|
W1 |
||||
|
F65 |
||||
|
N3 |
||||
|
L90 |
||||
|
R90 |
||||
|
E1 |
||||
|
L180 |
||||
|
S1 |
||||
|
F60 |
||||
|
E3 |
||||
|
L90 |
||||
|
F22 |
||||
|
E5 |
||||
|
F32 |
||||
|
S1 |
||||
|
L90 |
||||
|
E2 |
||||
|
S2 |
||||
|
W5 |
||||
|
N2 |
||||
|
E5 |
||||
|
F60 |
||||
|
L180 |
||||
|
W3 |
||||
|
F49 |
||||
|
S5 |
||||
|
F84 |
||||
|
N5 |
||||
|
F78 |
||||
|
W5 |
||||
|
S3 |
||||
|
L90 |
||||
|
S3 |
||||
|
F83 |
||||
|
L90 |
||||
|
E1 |
||||
|
L90 |
||||
|
E1 |
||||
|
F99 |
||||
|
W1 |
||||
|
L90 |
||||
|
W2 |
||||
|
L90 |
||||
|
S1 |
||||
|
R180 |
||||
|
F8 |
||||
|
E2 |
||||
|
R180 |
||||
|
N2 |
||||
|
F66 |
||||
|
N5 |
||||
|
L90 |
||||
|
E1 |
||||
|
F76 |
||||
|
W3 |
||||
|
F23 |
||||
|
F79 |
||||
|
N3 |
||||
|
E1 |
||||
|
R90 |
||||
|
N5 |
||||
|
F33 |
||||
|
N2 |
||||
|
L180 |
||||
|
F97 |
||||
|
R90 |
||||
|
L90 |
||||
|
S5 |
||||
|
F99 |
||||
|
W5 |
||||
|
L90 |
||||
|
F47 |
||||
|
L90 |
||||
|
E4 |
||||
|
F99 |
||||
|
S4 |
||||
|
R90 |
||||
|
E2 |
||||
|
S2 |
||||
|
L90 |
||||
|
F33 |
||||
|
E2 |
||||
|
F71 |
||||
|
R90 |
||||
|
N1 |
||||
|
N2 |
||||
|
W3 |
||||
|
L90 |
||||
|
W4 |
||||
|
S1 |
||||
|
R90 |
||||
|
F27 |
||||
|
L270 |
||||
|
W5 |
||||
|
F49 |
||||
|
W3 |
||||
|
F41 |
||||
|
L90 |
||||
|
F23 |
||||
|
L90 |
||||
|
S1 |
||||
|
F11 |
||||
|
L90 |
||||
|
W3 |
||||
|
N1 |
||||
|
W4 |
||||
|
L90 |
||||
|
N4 |
||||
|
W2 |
||||
|
L90 |
||||
|
S3 |
||||
|
W4 |
||||
|
L180 |
||||
|
W4 |
||||
|
R180 |
||||
|
W4 |
||||
|
F49 |
||||
|
E3 |
||||
|
S2 |
||||
|
F64 |
||||
|
S4 |
||||
|
F61 |
||||
|
E3 |
||||
|
L180 |
||||
|
W1 |
||||
|
N2 |
||||
|
W2 |
||||
|
F64 |
||||
|
R90 |
||||
|
S4 |
||||
|
E5 |
||||
|
N1 |
||||
|
L270 |
||||
|
E3 |
||||
|
F22 |
||||
|
E2 |
||||
|
R90 |
||||
|
S5 |
||||
|
F57 |
||||
|
N2 |
||||
|
F78 |
||||
|
L270 |
||||
|
W1 |
||||
|
N4 |
||||
|
L90 |
||||
|
S4 |
||||
|
F71 |
||||
|
S2 |
||||
|
L90 |
||||
|
E1 |
||||
|
L180 |
||||
|
F4 |
||||
|
N1 |
||||
|
W4 |
||||
|
L90 |
||||
|
N5 |
||||
|
F98 |
||||
|
N3 |
||||
|
L90 |
||||
|
W2 |
||||
|
L180 |
||||
|
F54 |
||||
|
W1 |
||||
|
R90 |
||||
|
W3 |
||||
|
F67 |
||||
|
L90 |
||||
|
W2 |
||||
|
R180 |
||||
|
F79 |
||||
|
N4 |
||||
|
F30 |
||||
|
L90 |
||||
|
N4 |
||||
|
R180 |
||||
|
L90 |
||||
|
S5 |
||||
|
F7 |
||||
|
N2 |
||||
|
F26 |
||||
|
S5 |
||||
|
F43 |
||||
|
E3 |
||||
|
N3 |
||||
|
L180 |
||||
|
F57 |
||||
|
W4 |
||||
|
L90 |
||||
|
E5 |
||||
|
F100 |
||||
|
S2 |
||||
|
F86 |
||||
|
L180 |
||||
|
W3 |
||||
|
S5 |
||||
|
W1 |
||||
|
S3 |
||||
|
L180 |
||||
|
S2 |
||||
|
S5 |
||||
|
W4 |
||||
|
L90 |
||||
|
F73 |
||||
|
R90 |
||||
|
F14 |
||||
|
E2 |
||||
|
F99 |
||||
|
R90 |
||||
|
R90 |
||||
|
E5 |
||||
|
N1 |
||||
|
R90 |
||||
|
N1 |
||||
|
N4 |
||||
|
R180 |
||||
|
S4 |
||||
|
L90 |
||||
|
F98 |
||||
|
W2 |
||||
|
L90 |
||||
|
F100 |
||||
|
R180 |
||||
|
W4 |
||||
|
F92 |
||||
|
E1 |
||||
|
L180 |
||||
|
S3 |
||||
|
F94 |
||||
|
E4 |
||||
|
N5 |
||||
|
R90 |
||||
|
S3 |
||||
|
W4 |
||||
|
F86 |
||||
|
S5 |
||||
|
R90 |
||||
|
E2 |
||||
|
F6 |
||||
|
E2 |
||||
|
F75 |
||||
|
N1 |
||||
|
L90 |
||||
|
W4 |
||||
|
F2 |
||||
|
E1 |
||||
|
N4 |
||||
|
E1 |
||||
|
L90 |
||||
|
W4 |
||||
|
F17 |
||||
|
N2 |
||||
|
R90 |
||||
|
E5 |
||||
|
R90 |
||||
|
N1 |
||||
|
W1 |
||||
|
R180 |
||||
|
W4 |
||||
|
R180 |
||||
|
F97 |
||||
|
E5 |
||||
|
N2 |
||||
|
L90 |
||||
|
F27 |
||||
|
N1 |
||||
|
W5 |
||||
|
R90 |
||||
|
N1 |
||||
|
F98 |
||||
|
R90 |
||||
|
N2 |
||||
|
F12 |
||||
|
W5 |
||||
|
S1 |
||||
|
F86 |
||||
|
N3 |
||||
|
W3 |
||||
|
F71 |
||||
|
L180 |
||||
|
W1 |
||||
|
R90 |
||||
|
W3 |
||||
|
S4 |
||||
|
E2 |
||||
|
S5 |
||||
|
W3 |
||||
|
R90 |
||||
|
E4 |
||||
|
R90 |
||||
|
W1 |
||||
|
N3 |
||||
|
F11 |
||||
|
W4 |
||||
|
E4 |
||||
|
F67 |
||||
|
E2 |
||||
|
F15 |
||||
|
W5 |
||||
|
N4 |
||||
|
W1 |
||||
|
R90 |
||||
|
L90 |
||||
|
W4 |
||||
|
F16 |
||||
|
N4 |
||||
|
F87 |
||||
|
L180 |
||||
|
F73 |
||||
|
L180 |
||||
|
E5 |
||||
|
R90 |
||||
|
F96 |
||||
|
N5 |
||||
|
W1 |
||||
|
F28 |
||||
|
R90 |
||||
|
W5 |
||||
|
S3 |
||||
|
S3 |
||||
|
E5 |
||||
|
R180 |
||||
|
E4 |
||||
|
F4 |
||||
|
L90 |
||||
|
E3 |
||||
|
E4 |
||||
|
S5 |
||||
|
W3 |
||||
|
L180 |
||||
|
F57 |
||||
|
R90 |
||||
|
N2 |
||||
|
F78 |
||||
|
N2 |
||||
|
L90 |
||||
|
S1 |
||||
|
R90 |
||||
|
W4 |
||||
|
S1 |
||||
|
L90 |
||||
|
N5 |
||||
|
F60 |
||||
|
R90 |
||||
|
S4 |
||||
|
F42 |
||||
|
R90 |
||||
|
W2 |
||||
|
F31 |
||||
|
R180 |
||||
|
N2 |
||||
|
S2 |
||||
|
F91 |
||||
|
S4 |
||||
|
R90 |
||||
|
N2 |
||||
|
L180 |
||||
|
N1 |
||||
|
E4 |
||||
|
F72 |
||||
|
E3 |
||||
|
E3 |
||||
|
N2 |
||||
|
L90 |
||||
|
N1 |
||||
|
L90 |
||||
|
F83 |
||||
|
S1 |
||||
|
R90 |
||||
|
N5 |
||||
|
E4 |
||||
|
F53 |
||||
|
N3 |
||||
|
E5 |
||||
|
S3 |
||||
|
E4 |
||||
|
F93 |
||||
|
W2 |
||||
|
F53 |
||||
|
L90 |
||||
|
E2 |
||||
|
L90 |
||||
|
W2 |
||||
|
F96 |
||||
|
R90 |
||||
|
E3 |
||||
|
L90 |
||||
|
S5 |
||||
|
F31 |
||||
|
R90 |
||||
|
R90 |
||||
|
F98 |
||||
|
F91 |
||||
|
W2 |
||||
|
N3 |
||||
|
F69 |
||||
|
R90 |
||||
|
F51 |
||||
|
R90 |
||||
|
N1 |
||||
|
E2 |
||||
|
R90 |
||||
|
S1 |
||||
|
R180 |
||||
|
E5 |
||||
|
N5 |
||||
|
W5 |
||||
|
F34 |
||||
|
W1 |
||||
|
F60 |
||||
|
R90 |
||||
|
F53 |
||||
|
R90 |
||||
|
F62 |
||||
|
R90 |
||||
|
S4 |
||||
|
F95 |
||||
|
W5 |
||||
|
E2 |
||||
|
F84 |
||||
|
R90 |
||||
|
E2 |
||||
|
F54 |
||||
|
E2 |
||||
|
F5 |
||||
|
R90 |
||||
|
F32 |
||||
|
L90 |
||||
|
E2 |
||||
|
S2 |
||||
|
L180 |
||||
|
F31 |
||||
|
E2 |
||||
|
L90 |
||||
|
N5 |
||||
|
W2 |
||||
|
L90 |
||||
|
F53 |
||||
|
R90 |
||||
|
S1 |
||||
|
R90 |
||||
|
F49 |
||||
|
R90 |
||||
|
S3 |
||||
|
L90 |
||||
|
F76 |
||||
|
F31 |
||||
|
S1 |
||||
|
F13 |
||||
|
R90 |
||||
|
W1 |
||||
|
S1 |
||||
|
R90 |
||||
|
W2 |
||||
|
L180 |
||||
|
E2 |
||||
|
R90 |
||||
|
E2 |
||||
|
N1 |
||||
|
W1 |
||||
|
S1 |
||||
|
E1 |
||||
|
S4 |
||||
|
L90 |
||||
|
N2 |
||||
|
E2 |
||||
|
R90 |
||||
|
S4 |
||||
|
L90 |
||||
|
N5 |
||||
|
L90 |
||||
|
W4 |
||||
|
S2 |
||||
|
W1 |
||||
|
L90 |
||||
|
E4 |
||||
|
R90 |
||||
|
W2 |
||||
|
S1 |
||||
|
L90 |
||||
|
N5 |
||||
|
F63 |
||||
|
R90 |
||||
|
W1 |
||||
|
F20 |
||||
|
L90 |
||||
|
F86 |
||||
|
S4 |
||||
|
S4 |
||||
|
E2 |
||||
|
F92 |
||||
|
F90 |
||||
|
W4 |
||||
|
F94 |
||||
|
E1 |
||||
|
N5 |
||||
|
F30 |
||||
|
W3 |
||||
|
N3 |
||||
|
L180 |
||||
|
W5 |
||||
|
F52 |
||||
|
R270 |
||||
|
E5 |
||||
|
R90 |
||||
|
N4 |
||||
|
W4 |
||||
|
F10 |
||||
|
N1 |
||||
|
F16 |
||||
|
N1 |
||||
|
F31 |
||||
|
S4 |
||||
|
L90 |
||||
|
F81 |
||||
|
N1 |
||||
|
L90 |
||||
|
W2 |
||||
|
F84 |
||||
|
L90 |
||||
|
F79 |
||||
|
L90 |
||||
|
W5 |
||||
|
L90 |
||||
|
F90 |
||||
|
R90 |
||||
|
E2 |
||||
|
L90 |
||||
|
F25 |
||||
|
N5 |
||||
|
S1 |
||||
|
F12 |
||||
|
R90 |
||||
|
F34 |
||||
|
R90 |
||||
|
F4 |
||||
|
E4 |
||||
|
L90 |
||||
|
S1 |
||||
|
F70 |
||||
|
R90 |
||||
|
F22 |
||||
|
R90 |
||||
|
F67 |
||||
|
R90 |
||||
|
F40 |
||||
|
W1 |
||||
|
S3 |
||||
|
L180 |
||||
|
N2 |
||||
|
E4 |
||||
|
S4 |
||||
|
F98 |
||||
|
R180 |
||||
|
F16 |
||||
|
S2 |
||||
|
W4 |
||||
|
S1 |
||||
|
F70 |
||||
|
L90 |
||||
|
N3 |
||||
|
E3 |
||||
|
L270 |
||||
|
W4 |
||||
|
L90 |
||||
|
W5 |
||||
|
R180 |
||||
|
W5 |
||||
|
N4 |
||||
|
R90 |
||||
|
W4 |
||||
|
F5 |
||||
|
L270 |
||||
|
E3 |
||||
|
L90 |
||||
|
E5 |
||||
|
F50 |
||||
|
S3 |
||||
|
F51 |
||||
|
E1 |
||||
|
S5 |
||||
|
F95 |
||||
|
R90 |
||||
|
L90 |
||||
|
S2 |
||||
|
F75 |
||||
|
R90 |
||||
|
W2 |
||||
|
F70 |
||||
|
E2 |
||||
|
F52 |
||||
|
W4 |
||||
|
E1 |
||||
|
L180 |
||||
|
F72 |
||||
|
N2 |
||||
|
F5 |
||||
|
E2 |
||||
|
F94 |
||||
|
R180 |
||||
|
F7 |
||||
|
E3 |
||||
|
N2 |
||||
|
R90 |
||||
|
W1 |
||||
|
N4 |
||||
|
R90 |
||||
|
S1 |
||||
|
W4 |
||||
|
L270 |
||||
|
W1 |
||||
|
W1 |
||||
|
N2 |
||||
|
E1 |
||||
|
F31 |
||||
|
N1 |
||||
|
W4 |
||||
|
S5 |
||||
|
L90 |
||||
|
E1 |
||||
|
R180 |
||||
|
F50 |
||||
|
N1 |
||||
|
W2 |
||||
|
F66 |
||||
|
N2 |
||||
|
L90 |
||||
|
R90 |
||||
|
W1 |
||||
|
E5 |
||||
|
L90 |
||||
|
E2 |
||||
|
R180 |
||||
|
F63 |
||||
|
N4 |
||||
|
N3 |
||||
|
F87 |
||||
|
W4 |
||||
|
L90 |
||||
|
F85 |
||||
|
N3 |
||||
|
F93 |
||||
|
S2 |
||||
|
F95 |
||||
|
N5 |
||||
|
L180 |
||||
|
S3 |
||||
|
R90 |
||||
|
W5 |
||||
|
L180 |
||||
|
W1 |
||||
|
L90 |
||||
|
S4 |
||||
|
F68 |
||||
|
L180 |
||||
|
S4 |
||||
|
R180 |
||||
|
E2 |
||||
|
L180 |
||||
|
E3 |
||||
|
R180 |
||||
|
S5 |
||||
|
F88 |
||||
|
N1 |
||||
|
R90 |
||||
|
S3 |
||||
|
E5 |
||||
|
S5 |
||||
|
E1 |
||||
|
N5 |
||||
|
E2 |
||||
|
S1 |
||||
|
W5 |
||||
|
F62 |
||||
|
R90 |
||||
|
F39 |
||||
|
L180 |
||||
|
N3 |
||||
|
F42 |
||||
|
E4 |
||||
|
N5 |
||||
|
R90 |
||||
|
W5 |
||||
|
S2 |
||||
|
F43 |
||||
|
W4 |
||||
|
F94 |
||||
|
R90 |
||||
|
F85 |
||||
|
N5 |
||||
|
F7 |
||||
|
L180 |
||||
|
W4 |
||||
|
L180 |
||||
|
E4 |
||||
|
F44 |
||||
|
N2 |
||||
|
W2 |
||||
|
N3 |
||||
|
L180 |
||||
|
E3 |
||||
|
N1 |
||||
|
S2 |
||||
|
W4 |
||||
|
N5 |
||||
|
R180 |
||||
|
F78 |
||||
|
E5 |
||||
|
L90 |
||||
|
W4 |
||||
|
F77 |
@ -0,0 +1,2 @@ |
|||||
|
1482 |
||||
|
48739 |
Loading…
Reference in new issue