Files
advent-of-code/2022/08/part1
2022-12-08 21:44:04 +00:00

41 lines
1002 B
Python
Executable File

#!/usr/bin/env python
TGRID = [] # heights
VGRID = [] # visibility
def check_visible(x, y, xr, yr):
target = TGRID[y][x]
for y in yr:
for x in xr:
if TGRID[y][x] >= target:
return False
return True
with open('input') as f:
for line in f:
l = []
for tree in line.rstrip():
l.append(int(tree))
TGRID.append(l)
max_y = len(TGRID)
for y in range(0, max_y):
max_x = len(TGRID[y])
l = []
for x in range(0, max_x):
l.append(
check_visible(x, y, range(0, x), range(y, y+1)) or # left to right
check_visible(x, y, range(x, x+1), range(0, y)) or # top to bottom
check_visible(x, y, range(max_x-1, x, -1), range(y, y+1)) or # right to left
check_visible(x, y, range(x, x+1), range(max_y-1, y, -1)) # bottom to top
)
VGRID.append(l)
count = 0
for row in VGRID:
for col in row:
if col:
count = count + 1
print(count)