diff --git a/day-11/internal/two/solve.go b/day-11/internal/two/solve.go index 28ca001..20e708d 100644 --- a/day-11/internal/two/solve.go +++ b/day-11/internal/two/solve.go @@ -25,23 +25,21 @@ func Solve(buf []byte) (int, error) { memo := make(map[int]result) for range blinks { next := make(map[int]int) - visited := make(map[int]int) for stone, count := range old { var r result - _, ok := visited[stone] + r, ok := memo[stone] if !ok { r = applyRules(stone) memo[stone] = r } - visited[stone] += count switch r.kind { case flip, multiply: - next[r.right] += visited[stone] + next[r.right] += count case split: - next[r.left] += visited[stone] - next[r.right] += visited[stone] + next[r.left] += count + next[r.right] += count } }