aoc

advent of code
git clone git://source.orangerot.dev:/aoc.git
Log | Files | Refs

main.py (999B)


      1 import sys
      2 
      3 def isVisible(lines, row, col):
      4     if ( row == 0 or col == 0 or row == len(lines)-1 or col == len(lines[0])-1):
      5         return True
      6 
      7     if all(x[col] < lines[row][col] for x in lines[:row]):
      8         return True
      9 
     10     if all(x[col] < lines[row][col] for x in lines[row+1:]):
     11         return True
     12 
     13     if all(x < lines[row][col] for x in lines[row][:col]):
     14         return True
     15 
     16     if all(x < lines[row][col] for x in lines[row][col+1:]):
     17         return True
     18 
     19     return False
     20 
     21 with open(sys.argv[1], "r") as file:
     22     lines = file.readlines()
     23     for a in range(len(lines)):
     24         lines[a] = lines[a].rstrip()
     25         # a = a.rstrip()
     26 
     27     visible=0
     28     for row in range(len(lines)):
     29         for col in range(len(lines[0])):
     30             # print(lines[row][col], end="")
     31             yes = isVisible(lines, row, col)
     32             visible += yes
     33             if yes:
     34                 print("1", end="")
     35             else:
     36                 print("_", end="")
     37         print()
     38 
     39     print(visible)