瀏覽代碼

Slightly clean up old solution

Taddeus Kroes 1 年之前
父節點
當前提交
613f6964a8
共有 1 個文件被更改,包括 4 次插入4 次删除
  1. 4 4
      2023/21_steps.py

+ 4 - 4
2023/21_steps.py

@@ -16,13 +16,13 @@ def bfs(grid):
                 if grid[ny][nx] != '#' and nb not in visited:
                     visited[nb] = steps + 1
                     work.append((nb, steps + 1))
-    return visited
+    return list(visited.values())
 
 def reachable_in_26501365_steps(min_dists):
     # https://github.com/villuna/aoc23/wiki/A-Geometric-solution-to-advent-of-code-2023,-day-21
     n = (26501365 - 131 // 2) // 131  # w = h = 131
     even = odd = even_corners = odd_corners = 0
-    for dist in min_dists.values():
+    for dist in min_dists:
         is_odd = dist % 2
         even += 1 - is_odd
         odd += is_odd
@@ -33,6 +33,6 @@ def reachable_in_26501365_steps(min_dists):
     corners = (n + 1) * odd_corners + n * even_corners
     return whole_squares - corners
 
-min_dists = bfs(sys.stdin.read().split())
-print(sum(dist % 2 == 0 and dist <= 64 for xy, dist in min_dists.items()))
+min_dists = bfs([line.rstrip() for line in sys.stdin])
+print(sum(dist <= 64 and dist % 2 == 0 for dist in min_dists))
 print(reachable_in_26501365_steps(min_dists))