43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
#/usr/bin/env python
|
|
|
|
grid = []
|
|
|
|
def check_horizontal(grid):
|
|
result = []
|
|
for i1 in range(0, len(grid)):
|
|
max = -1
|
|
for i2 in range(0, len(grid[i1])):
|
|
if grid[i1][i2] > max:
|
|
max = grid[i1][i2]
|
|
result.append((i1, i2))
|
|
max = -1
|
|
for i2 in reversed(range(0, len(grid[i1]))):
|
|
if grid[i1][i2] > max:
|
|
max = grid[i1][i2]
|
|
result.append((i1, i2))
|
|
return result
|
|
|
|
def check_vertical(grid):
|
|
result = []
|
|
for i2 in range(0, len(grid[0])):
|
|
max = -1
|
|
for i1 in range(0, len(grid)):
|
|
if grid[i1][i2] > max:
|
|
max = grid[i1][i2]
|
|
result.append((i1, i2))
|
|
max = -1
|
|
for i1 in reversed(range(0, len(grid))):
|
|
if grid[i1][i2] > max:
|
|
max = grid[i1][i2]
|
|
result.append((i1, i2))
|
|
return result
|
|
|
|
with open("input.txt", "r") as f:
|
|
for line in f:
|
|
grid.append([int(c) for c in line.strip()])
|
|
|
|
trees_h = check_horizontal(grid)
|
|
trees_v = check_vertical(grid)
|
|
trees = trees_h + trees_v
|
|
print(len(set(trees)))
|