summaryrefslogtreecommitdiff
path: root/2024/18/python.py
diff options
context:
space:
mode:
authormhsn <mail@mhsn.net>2026-03-18 21:48:13 +0000
committermhsn <mail@mhsn.net>2026-03-18 21:48:13 +0000
commit86bac31392a76da84817eec020d2b84d099b3cc1 (patch)
treee2ee52db59b86b914d5b4bcceb19c9b5d899fff4 /2024/18/python.py
parent62fe361fc42dea75deaf7ac31c0ba6ba80e26a9c (diff)
downloadpuzzles-86bac31392a76da84817eec020d2b84d099b3cc1.tar.gz
puzzles-86bac31392a76da84817eec020d2b84d099b3cc1.zip
add other challenges supportHEADmaster
Diffstat (limited to '2024/18/python.py')
-rwxr-xr-x2024/18/python.py47
1 files changed, 0 insertions, 47 deletions
diff --git a/2024/18/python.py b/2024/18/python.py
deleted file mode 100755
index 1f987c6..0000000
--- a/2024/18/python.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env python3
-
-from bisect import bisect_left
-from collections import deque
-from fileinput import input
-
-coords = [line.strip().split(",") for line in input()]
-grid = {complex(int(x), int(y)): t for t, [x, y] in enumerate(coords)}
-
-
-def solve(size, delay):
- q = deque([(0, 0)])
- seen = set()
- while q:
- curr, t = q.popleft()
- if curr in seen:
- continue
- if curr == complex(size, size):
- return t
- seen.add(curr)
-
- for d in [1, -1, 1j, -1j]:
- x = curr + d
- if not (0 <= x.real <= size and 0 <= x.imag <= size):
- continue
- if x in grid and grid[x] < delay:
- continue
- q.append((x, t + 1))
- return None
-
-
-silver = solve(70, 1024)
-# silver = solve(6, 12) # test.txt
-
-gold = ",".join(
- coords[
- bisect_left(
- list(range(len(grid))),
- True,
- key=lambda x: solve(70, x) is None,
- )
- - 1
- ]
-)
-
-print("silver:", silver)
-print("gold:", gold)