Files
aoc-2022/2022/8/twostar.py
T
2024-11-11 09:05:01 +01:00

32 lines
891 B
Python

map = []
def directionScore(x, y, tree):
score = 0
if type(x) == range: # Horizontal
for i in x:
score += 1
if map[y][i] >= tree:
break
elif type(y) == range: # Vertical
for i in y:
score += 1
if map[i][x] >= tree:
break
return score
with open("input.txt", "r") as f:
for line in f.readlines():
map.append(list(line.strip()))
H = len(map)
W = len(map[0])
biggestScore = 0
for y in range(H):
for x in range(W):
tree = map[y][x]
score = (directionScore(x, range(y-1, -1, -1), tree) * # Up
directionScore(x, range(y+1, H), tree) * # Down
directionScore(range(x-1, -1, -1), y, tree) * # Left
directionScore(range(x+1, W), y, tree)) # Right
if score > biggestScore:
biggestScore = score
print(biggestScore)