diff options
Diffstat (limited to '2024/16')
| -rwxr-xr-x | 2024/16/python.py | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/2024/16/python.py b/2024/16/python.py deleted file mode 100755 index fda3714..0000000 --- a/2024/16/python.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -from fileinput import input - -grid = { - complex(idx, idy): c - for idy, line in enumerate(input()) - for idx, c in enumerate(line.strip()) -} -start = next(p for p, c in grid.items() if c == "S") -end = next(p for p, c in grid.items() if c == "E") - -q = [(0, (start, 1))] -seen = set() -while q: - curr = min(q, key=lambda x: x[0]) - d, (pos, vel) = curr - q.remove(curr) - if (pos, vel) in seen: - continue - if pos == end: - silver = d - break - seen.add((pos, vel)) - - if grid[pos + vel] != "#": - q.append((d + 1, (pos + vel, vel))) - q.append((d + 1000, (pos, vel * 1j))) - q.append((d + 1000, (pos, vel * -1j))) - -print("silver:", silver) |
