Files
aocpy/2024/d10.py
2024-12-10 20:01:11 -05:00

27 lines
490 B
Python

from collections import deque
from lib import Grid2D
from lib import get_data
data = get_data(__file__)
g = Grid2D(data)
p1 = 0
p2 = 0
for start in g.find("0"):
queue = deque([start])
all = set()
while queue:
node = queue.popleft()
if g[node] == "9":
all.add(node)
p2 += 1
for nb in g.neighbors_ort(node):
if int(g[node]) + 1 == int(g[nb]):
queue.append(nb)
p1 += len(all)
print(p1)
print(p2)