import sys def isVisible(lines, row, col): scenic = 1 score1 = 0 for x in lines[:row:-1]: if ( x[col] >= lines[row][col]): break score1 += 1 scenic *= score1 score2 = 0 for x in lines[row+1:]: if ( x[col] >= lines[row][col]): break score2 += 1 scenic *= score2 score3 = 0 for x in lines[row][:col:-1]: if ( x >= lines[row][col]): break score3 += 1 scenic *= score3 score4 = 0 for x in lines[row][col:]: if ( x >= lines[row][col]): break score4 += 1 scenic *= score4 print(row, col, score1, score2, score3, score4, 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)