116 Commits

Author SHA1 Message Date
40d5e820bc
grid: additional impls of Coord2d 2024-12-21 23:49:06 -08:00
5d518248a8
day20: clippies and performance 2024-12-21 23:49:06 -08:00
cebdbd1007
day20: part 2 solution (slow) 2024-12-21 23:49:05 -08:00
32937aaa0e
day22: part 2 solution. 38s runtime but works. 2024-12-21 23:49:04 -08:00
c681727fb3
day22: part 1 solution 2024-12-21 23:46:08 -08:00
02fc154547
grid: use coord2d more consistently 2024-12-21 21:01:16 -08:00
13f61e3a2b
part2: works up to the 4th iteration, then returns too high values
Some checks failed
test / AoC 2024 (push) Failing after 3m40s
I think the issue is not testing both possible paths for direction keypads, but doing this naively blows up the compute complexity (and I got the wrong answer)
2024-12-21 02:48:39 -08:00
8958ba9361
day21: part 1 solution
Some checks failed
test / AoC 2024 (push) Failing after 3m35s
2024-12-20 23:20:21 -08:00
e60f6effa3
day20: part 1 solution
Some checks failed
test / AoC 2024 (push) Failing after 4m38s
2024-12-20 20:56:14 -08:00
c2e3422544
day19: rayon - ez mode parallelization, speed * 6
All checks were successful
test / AoC 2024 (push) Successful in 3m16s
2024-12-18 23:09:51 -08:00
6b6dededc2
day19: clippies
All checks were successful
test / AoC 2024 (push) Successful in 3m25s
2024-12-18 22:45:10 -08:00
65d498f168
day19: complete solution
Some checks failed
test / AoC 2024 (push) Failing after 3m46s
2024-12-18 22:39:32 -08:00
cdb3a7261a
day19: pre puzzle boilerplate 2024-12-18 20:56:36 -08:00
dbee7d91b6
day18: clippies
All checks were successful
test / AoC 2024 (push) Successful in 3m21s
2024-12-18 15:42:23 -08:00
0fee7c3594
ci: report errors correctly
Some checks failed
test / AoC 2024 (push) Failing after 3m11s
2024-12-18 15:36:02 -08:00
824d111b18
ci: don't use '-D warnings' except for clippy run
Some checks failed
test / AoC 2024 (push) Has been cancelled
2024-12-18 15:34:15 -08:00
a1dceb6ff1
day18: perf: swap dijkstra for bfs for ~30% improvement
All checks were successful
test / AoC 2024 (push) Successful in 1m41s
2024-12-18 15:31:12 -08:00
3712b32634
grid: row and column iterators 2024-12-18 15:31:07 -08:00
2a11e17d92
day18: improve brute for for binary search for big gainz
All checks were successful
test / AoC 2024 (push) Successful in 1m48s
also avoid unnecessary path tracking work
2024-12-18 11:35:22 -08:00
1c254fff93
Revert "cargo: optimize harder"
All checks were successful
test / AoC 2024 (push) Successful in 1m50s
This reverts commit 44108c4b35a93664be800872359de5dd72186fa3.
2024-12-18 00:53:51 -08:00
44108c4b35
cargo: optimize harder 2024-12-18 00:41:40 -08:00
b588837624
day18: small optimization - avoid duplicates
not sure if the input contains dupes, but avoid doing a second path
search if the square already contains a byte, seems like a small
performance gain
2024-12-18 00:41:28 -08:00
9a6ca66059
grid: microoptimizations
All checks were successful
test / AoC 2024 (push) Successful in 1m49s
2024-12-17 23:52:14 -08:00
2729799fa2
day18: optimize
* Implement generic path tracing, so part 1 doesn't store and return the full path,
  just the count.
* Improve part2 impl to only run path search if the block fell on our
  last path.
* Start part2 path search from the best path position immediately before
  the placed block.
2024-12-17 23:51:09 -08:00
8d2fbc0fcb
repo: more aggressive optimization 2024-12-17 23:41:48 -08:00
4f48d839b2
day18: part 2 solution + some optimizations
All checks were successful
test / AoC 2024 (push) Successful in 2m47s
2024-12-17 22:13:49 -08:00
414569537e
day18: part 2 solution 2024-12-17 22:00:10 -08:00
5036866663
day18: part 1 solution 2024-12-17 21:52:41 -08:00
9be86e2cc2
day17: clippies
All checks were successful
test / AoC 2024 (push) Successful in 2m38s
2024-12-17 01:03:06 -08:00
5bcead2691
day17: part 2 solution
All checks were successful
test / AoC 2024 (push) Successful in 1m43s
2024-12-17 00:46:18 -08:00
c99d8a400a
day17: part 1 solution
All checks were successful
test / AoC 2024 (push) Successful in 1m54s
2024-12-16 22:29:55 -08:00
5e8b974137
clippies!
All checks were successful
test / AoC 2024 (push) Successful in 1m44s
2024-12-16 14:54:48 -08:00
28a88e1aa7
day14: replace RE parser with nom consuming parser
Almost 100x speedup on parsing phase avoiding RE compile, saves ~60ms
2024-12-16 14:47:48 -08:00
33615b015f
cargo: update and add nom, misc 2024-12-16 14:44:30 -08:00
b7a1f05b1e
utils: add misc and implement CustomBounded 2024-12-16 14:41:32 -08:00
de7ee8f0f6
day14: don't print robots map
All checks were successful
test / AoC 2024 (push) Successful in 3m43s
2024-12-16 11:40:10 -08:00
c31d653612
day16: minor performance and refactoring
All checks were successful
test / AoC 2024 (push) Successful in 3m44s
2024-12-16 01:33:02 -08:00
20e6889572
day16: improve perf again by going to i16 positions
All checks were successful
test / AoC 2024 (push) Successful in 5m29s
map dimensions fit in i16, so use those in data structures

make grid support generic position type as long as they implement to i64
2024-12-16 01:06:39 -08:00
755fbbc53d
day16: refactor, optimize
split path recording and best cost functions for big gainz

use i32 instead of i64 positions to shrink data structures for some
gainz
2024-12-16 00:58:15 -08:00
4b85a90635
day16: part 2 solution
All checks were successful
test / AoC 2024 (push) Successful in 3m7s
2024-12-15 23:22:14 -08:00
2cf8527c4f
grid: add add_mut() 2024-12-15 23:21:59 -08:00
6283ff37f9
day16: part 1 solution
All checks were successful
test / AoC 2024 (push) Successful in 2m56s
2024-12-15 22:06:21 -08:00
f2186d18d3
ci: allow test failures, fix input getting script mistake
All checks were successful
test / AoC 2024 (push) Successful in 4m16s
2024-12-15 01:06:09 -08:00
c261ee56fe
day15: cleanup, clippies
Some checks failed
test / AoC 2024 (push) Has been cancelled
2024-12-15 01:03:08 -08:00
411d6aa26d
day15: cleanup & use the same implementation for both parts
Some checks failed
test / AoC 2024 (push) Failing after 2m17s
2024-12-15 00:56:07 -08:00
c2c0145219
day15: part 2 submitted solution
Some checks failed
test / AoC 2024 (push) Failing after 2m27s
2024-12-15 00:50:19 -08:00
4dfdaca58c
day15: part 1 solution + beginning of part 2
Some checks failed
test / AoC 2024 (push) Has been cancelled
2024-12-15 00:49:44 -08:00
003bc3212d
pre-commit: check clippies and format in pre-commit to avoid CI fail
All checks were successful
test / AoC 2024 (push) Successful in 2m55s
2024-12-13 23:51:50 -08:00
b060de20c7
day11: clippies
All checks were successful
test / AoC 2024 (push) Successful in 3m7s
2024-12-13 23:44:46 -08:00
bc7ec50c94
CI: get real inputs, and do a full run 2024-12-13 23:44:29 -08:00