summary refs log tree commit diff
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)))