summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--22.8/main.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/22.8/main.py b/22.8/main.py
new file mode 100644
index 0000000..624b890
--- /dev/null
+++ b/22.8/main.py
@@ -0,0 +1,22 @@
+from sys import stdin
+
+def rot(a):
+ return [list(t) for t in zip(*a[::-1])]
+
+def flatten(a):
+ return sum(vis, [])
+
+grid = [[int(c) for c in line.strip()] for line in stdin]
+vis = [[0 for _ in a] for a in grid]
+
+for _ in range(4):
+ for trees, to in zip(grid, vis):
+ highest = -1
+ for i in range(len(trees)):
+ if highest < trees[i]:
+ highest = trees[i]
+ to[i] += 1
+ grid = rot(grid)
+ vis = rot(vis)
+
+print(len([c for c in flatten(vis) if c > 0]))