summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--22.8/main.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/22.8/main.py b/22.8/main.py
index 624b890..78e67e4 100644
--- a/22.8/main.py
+++ b/22.8/main.py
@@ -4,7 +4,7 @@ def rot(a):
return [list(t) for t in zip(*a[::-1])]
def flatten(a):
- return sum(vis, [])
+ return sum(a, [])
grid = [[int(c) for c in line.strip()] for line in stdin]
vis = [[0 for _ in a] for a in grid]
@@ -20,3 +20,16 @@ for _ in range(4):
vis = rot(vis)
print(len([c for c in flatten(vis) if c > 0]))
+
+scores = [[1 for _ in a] for a in grid]
+for _ in range(4):
+ for trees, to in zip(grid, scores):
+ lastBlock = [0] * 10
+ for i in range(len(trees)):
+ h = trees[i]
+ to[i] *= i - lastBlock[h]
+ for j in range(h + 1):
+ lastBlock[j] = i
+ grid = rot(grid)
+ scores = rot(scores)
+print(max(flatten(scores)))