@@ -28,7 +28,7 @@ def read_image(text): | |||
for y, line in enumerate(text.splitlines()): | |||
for x, cell in enumerate(line): | |||
grid[complex(x, y)] = cell | |||
return grid | |||
return grid, x + 1, y + 1 | |||
def shortest_path(start, end, move): |
@@ -0,0 +1,20 @@ | |||
import sys | |||
from math import prod | |||
def slide(step): | |||
dx, dy = step | |||
seen, x, y = 0, 0, 0 | |||
while y + dy < height: | |||
x += dx | |||
y += dy | |||
seen += grid[y][x % width] == '#' | |||
return seen | |||
grid = sys.stdin.read().splitlines() | |||
height = len(grid) | |||
width = len(grid[0]) | |||
print(slide((3, 1))) | |||
print(prod(map(slide, [(1, 1), (3, 1), (5, 1), (7, 1), (1, 2)]))) |