Pārlūkot izejas kodu

Day 3 star 1

master
Noëlle Anthony pirms 4 gadiem
vecāks
revīzija
019cc25e61
2 mainītis faili ar 50 papildinājumiem un 0 dzēšanām
  1. 1
    0
      .gitignore
  2. 49
    0
      2019/03a.py

+ 1
- 0
.gitignore Parādīt failu

@@ -0,0 +1 @@
2019/03in.txt

+ 49
- 0
2019/03a.py Parādīt failu

@@ -0,0 +1,49 @@
# 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)
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):
a, b = pos
if dir == 0:
a += inc
else:
b += inc
pos = (a,b)
if pos not in grid:
grid[pos] = [0,0]
grid[pos][i] = 1
dists = []
for k,v in grid.items():
if v == [1,1] and k != (0,0):
dists.append(abs(k[0]) + abs(k[1]))
print(dists)
print(min(dists))
if __name__ == "__main__":
main(False)

Notiek ielāde…
Atcelt
Saglabāt