41 lines
1 KiB
Python
41 lines
1 KiB
Python
|
import sys
|
||
|
|
||
|
def isVisible(lines, row, col):
|
||
|
scenic = 1
|
||
|
score = [1,2,3,4]
|
||
|
score[0] = [x[col] < lines[row][col] for x in lines[:row][::-1]]
|
||
|
score[1] = [x[col] < lines[row][col] for x in lines[row+1:]]
|
||
|
score[2] = [x < lines[row][col] for x in lines[row][:col][::-1]]
|
||
|
score[3] = [x < lines[row][col] for x in lines[row][col+1:]]
|
||
|
|
||
|
|
||
|
for a in score:
|
||
|
# print(a)
|
||
|
dist = 0
|
||
|
if (len(a) == 0):
|
||
|
dist = 0
|
||
|
elif (all(a)):
|
||
|
dist = len(a)
|
||
|
else:
|
||
|
dist = a.index(False) + 1
|
||
|
# print(dist)
|
||
|
scenic *= dist
|
||
|
|
||
|
print(row, col, "|", scenic)
|
||
|
return scenic
|
||
|
|
||
|
with open(sys.argv[1], "r") as file:
|
||
|
lines = file.readlines()
|
||
|
for a in range(len(lines)):
|
||
|
lines[a] = lines[a].rstrip()
|
||
|
# a = a.rstrip()
|
||
|
|
||
|
best=0
|
||
|
for row in range(len(lines)):
|
||
|
for col in range(len(lines[0])):
|
||
|
# print(lines[row][col], end="")
|
||
|
yes = isVisible(lines, row, col)
|
||
|
best = max(best, yes)
|
||
|
|
||
|
print(best)
|