# AoC 2022 Day 16: Pressurinator

## Part 1

Given a graph of nodes, some of which have a pressure (per tick output value) and an agent that can move through the graph and activate specific nodes (so that they output their per tick value every future tick), what is the maximum total output possible in 30 steps?

# AoC 2022 Day 15: Beaconator

## Part 1

There are a collections of Sensors and Beacons. As input, you are given the Beacon closest to each Sensor (using Manhattan Distance). If a Beacon is not closest to any sensor, it will not appear in this list. Calculate how many points in the given row (y=2000000) cannot contain a Beacon.

# AoC 2022 Day 14: Sandinator

## Part 1

Given a series of walls as input, run a falling sand simulation until any new sand falls of the map. Count how many grains of sand we end up with.

# AoC 2022 Day 12: Climbiantor

## Part 1

Given a height map, find the shortest path between two points such that the path can descend any distance but can only climb by a maximum of 1.

# AoC 2022 Day 8: Treetopinator

## Part 1

Given a grid of numbers, count how many of these numbers have a direct path in any cardinal direction to the edge of the grid.

# Stateful Solvers and Iterators

Rust, yet again! Let’s take what we did last time with Solving Sudoku (again) and improve the code structure a bit more.

Goals:

• Create a ‘Solver’ struct that can maintain state (such as how many states we’ve visited, how much time we’ve spent)
• Track the above stats
• Turn the ‘Solver’ into an iterator which will iterate through given solutions (a single call will give the first solution or you can run through the iterator to get all of them)

# Solving Sudoku (again)

More Rust! This time, I want to go back to my post on A Generic Brute Force Backtracking Solver. For one, because I’m learning Rust. For two, because there is a crate specifically for im mutable data structures. And for three, because I expect it will be much faster. We shall see!