Bläddra i källkod

Day 3 star 2

master
Noëlle Anthony 4 år sedan
förälder
incheckning
cc3759ba25
1 ändrade filer med 52 tillägg och 0 borttagningar
  1. 52
    0
      2019/03b.py

+ 52
- 0
2019/03b.py Visa fil

@@ -0,0 +1,52 @@
# Python 3.7

def main(debug):
paths = {}
if debug:
#paths = {1: ["R75","D30","R83","U83","L12","D49","R71","U7","L72"],
# 2: ["U62","R66","U55","R34","D71","R55","D58","R83"]}
paths = {1: ["R98","U47","R26","D63","R33","U87","L62","D20","R33","U53","R51"],
2: ["U98","R91","D20","R16","D67","R40","U7","R15","U6","R7"]}
else:
with open("03in.txt","r") as file:
for i in range(2): # there are only two lines
paths[i+1] = file.readline().strip("\n").split(",")
grid = {}
for i in range(2):
pos = (0,0)
steps = 0
for path in paths[i+1]:
d, v = path[0], int(path[1:])
if d == "U":
dir = 1
inc = 1
elif d == "D":
dir = 1
inc = -1
elif d == "R":
dir = 0
inc = 1
else:
dir = 0
inc = -1
for _ in range(v):
steps += 1
a, b = pos
if dir == 0:
a += inc
else:
b += inc
pos = (a,b)
if pos not in grid:
grid[pos] = [0,0]
if grid[pos][i] == 0:
grid[pos][i] = steps
dists = []
for k,v in grid.items():
if v[0] != 0 and v[1] != 0 and k != (0,0):
dists.append(abs(v[0]) + abs(v[1]))
print(dists)
print(min(dists))
if __name__ == "__main__":
main(False)

Laddar…
Avbryt
Spara