My solutions.
2025 Personal Leaderboard:
| Day | -Part 1- | -Part 2- | -Part 2 Time- | Total Runtime |
|---|---|---|---|---|
| 1 | 00:03:54 | 00:36:18 | 00:32:24 | ~0.01s |
| 2 | 01:01:30 | 01:22:34 | 00:21:04 | ~0.20s |
| 3 | 00:06:22 | 00:13:17 | 00:06:55 | ~0.01s |
| 4 | 01:15:01 | 01:18:33 | 00:03:32 | ~0.12s |
| 5 | 01:50:07 | 01:50:54 | 00:00:47 | ~0.01s |
| 6 | 01:11:46 | 01:26:36 | 00:14:50 | ~0.02s |
| 7 | 02:04:25 | 02:33:10 | 00:28:45 | ~0.01s |
| 8 | 03:05:52 | 03:25:00 | 00:19:08 | ~0.40s |
| 9 | 00:37:49 | 03:55:28 | 03:17:39 | ~0.40s |
| 10 | 04:11:02 | 06:24:26 | 02:13:24 | ~2.00s |
| 11 | 00:19:43 | 00:51:17 | 00:31:34 | ~0.01s |
| 12 | 07:09:20 | 07:09:27 | 00:00:07 | ~0.01s |
- Ignore the fact that I did not sanity check the input on day 12 before spending over 3 hours trying to come up with an efficient irregular packing algorithm.
- TODO:
- Find a way to reduce the 2s runtime of day 10
- Write an actual solution for day 12. A bitmask based backtracking solution looked interesting.