## Day 19
### First solution
Using a brute force solution here, looping through all the scanners and beacons.
Comparing them to already known absolute beacon positions.
At start any scanner can be the (0,0,0) and there beacons are the absolute ones.
We also have to rotate the coordinates (3*8 rotation) before subtracting the absolute
ones. When 12 matching item found we add those beacons to the absolute ones.
We store the absolute beacon coordinates in an `std.AutoArrayHashMap`, so it is
easier to loop through them.
This solution is quite slow, first and second part takes more than 5 seconds
each.
TODO:
- take a look on zig's `std.math.Vector` to see if that is faster or not
- figure out how to avoid checking all scanner, beacon and rotation against the
absolute ones. Can we rule out certain scanners based on distance or something
else?
## Day 21
First part is very easy, not much to talk about. The second part is much harder.
It takes forever without memoization.
Using an `std.AutoHashMap` for the cache. There are 16k+ items in the cache and
more than 255k hits for chache items with my imput. Runs ~70ms on the rpi4.
## Day 24
The hard part of this task figuring out which input lines matter (which I did
not, so...) The solution is fast as it is.