Advertisement
Guest User

Untitled

a guest
Dec 19th, 2022
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. import numpy as np
  2.  
  3. f = open("input.txt", "r")
  4.  
  5. arr = f.read().splitlines()
  6.  
  7. print(arr)
  8.  
  9. rows = []
  10. columns = []
  11.  
  12. visible = 0
  13.  
  14. index = 0
  15.  
  16. rows = arr
  17.  
  18. for i in range(0, len(rows)):
  19. column = [item[i] for item in rows]
  20.  
  21. columns.append(column)
  22.  
  23. def isVisibleUp(i, r, col):
  24. print("\nup")
  25.  
  26. print("current row", r)
  27. print("current index", i)
  28. print("current col", col)
  29.  
  30. col = [x for x in col if x != '']
  31. col = [int(x) for x in col]
  32.  
  33. print("column", col)
  34.  
  35. for f in reversed(range(0, len(col))):
  36. print(col[f])
  37. if f == i:
  38. break
  39. if col[f] > col[i]:
  40. return False
  41.  
  42. print("visible\n")
  43.  
  44. return True
  45.  
  46. def isVisibleDown(i, r, col):
  47. print("\ndown")
  48.  
  49. print("current row", r)
  50. print("current index", i)
  51. print("current col", col)
  52.  
  53. col = [x for x in col if x != '']
  54. col = [int(x) for x in col]
  55.  
  56. print("column", col)
  57.  
  58. for f in range(0, len(col)):
  59. print(col[f])
  60. if f == i:
  61. break
  62. if col[f] > col[i]:
  63. return False
  64.  
  65. print("visible\n")
  66.  
  67. return True
  68.  
  69. def isVisibleLeft(i, r, row):
  70. print("\nleft")
  71. row = list(row)
  72.  
  73. row = [int(x) for x in row]
  74.  
  75. print("value", r)
  76. print("current row", row)
  77.  
  78. for f in range(0, i):
  79. print(row[f])
  80. if row[f] > row[f+1] and row[f] > row[i]:
  81. print("\n")
  82. return False
  83.  
  84. print("visible\n")
  85.  
  86. return True
  87.  
  88. def isVisibleRight(i, r, row):
  89. print("\nright")
  90. row = list(row)
  91. row = [int(x) for x in row]
  92.  
  93. print("value", r)
  94. print("index", i)
  95. print("current row", row)
  96.  
  97. for f in reversed(range(0, len(row))):
  98. print(row[f])
  99. if row[f] > row[i]:
  100. return False
  101. if f == i:
  102. break
  103.  
  104. print("visible\n")
  105.  
  106. return True
  107.  
  108. for iRow, row in enumerate(rows):
  109. print(iRow)
  110. for i, value in enumerate(row):
  111. if isVisibleLeft(i, value, row) or isVisibleRight(i, value, row) or isVisibleUp(iRow, value, columns[i]) or isVisibleDown(iRow, value, columns[i]):
  112. visible += 1
  113.  
  114. # print("rows", rows)
  115.  
  116. # print("columns", columns)
  117.  
  118. print("\n")
  119. print(visible)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement