Commit Graph

805 Commits

Author SHA1 Message Date
ee5eb931a9 Better project setup, now with a structure UV likes 2024-11-22 10:28:10 +01:00
fd6b58022d Review comments 2024-11-21 17:34:32 +01:00
b7244ad400 Attempt at a harness 2024-11-19 21:57:45 +01:00
1f41f4b35a Remove inputs 2024-01-10 19:40:45 +01:00
d2a17216c7 Flip check order 2023-12-25 22:09:27 +01:00
9b164a4d9d Implement 2023 day 24 part 2 2023-12-25 15:00:28 +01:00
5d811a08b6 Implement 2023 day 25 2023-12-25 14:14:48 +01:00
0af116920b Reduce runtime by 90% by eliminating hashsets 2023-12-25 00:58:40 +01:00
898f8dce25 Placate clippy 2023-12-25 00:23:43 +01:00
0cce8a2045 Parameterize implementation to support test 2023-12-25 00:17:19 +01:00
c80354b4af Implement 2023 day 24 part 1 2023-12-24 23:47:36 +01:00
bfa7b26c69 Non-functional impl 2023-12-24 15:37:05 +01:00
9cc64a7904 Implement 2023 day 23 part 2 2023-12-24 14:17:06 +01:00
f9c977ab33 Implement 2023 day 23 part 1 2023-12-24 14:07:54 +01:00
9b60faf4fc Implement 2023 day 22 part 2 2023-12-23 21:37:55 +01:00
9d18dc79da Implement 2023 day 22 part 1 2023-12-23 21:05:10 +01:00
ffe067b122 Implement 2023 day 20 part 2, for real 2023-12-21 22:40:31 +01:00
949de03b24 Remove testing comment 2023-12-21 22:01:19 +01:00
a891d08b21 Compute all required points at once 2023-12-21 21:48:06 +01:00
ca054363bf Implement 2023 day 21 part 2 2023-12-21 21:36:33 +01:00
65c6340061 Implement 2023 day 21 part 1 2023-12-21 19:55:56 +01:00
da61b8d541 Brute force part 2 2023-12-21 19:03:17 +01:00
37c578d7cc Implement 2023 day 20 part 1 2023-12-20 23:00:12 +01:00
cb05450229 Remove useless Clone impl 2023-12-19 23:55:10 +01:00
70e7747027 Implement 2023 day 19 part 2 2023-12-19 23:44:41 +01:00
2070a6b726 Implement 2023 day 19 part 1 2023-12-19 19:16:02 +01:00
24430cf1da Implement 2023 day 18 part 2
This was not at all the twist I expected, but I like it.
2023-12-18 20:52:05 +01:00
8faabf1220 Prepare for part 2 2023-12-18 20:32:38 +01:00
f15c8fbec3 Implement 2023 day 18 part 1 2023-12-18 20:26:01 +01:00
353e551f66 Implement 2023 day 17 part 2 2023-12-17 19:41:45 +01:00
717417eaf0 Implement 2023 day 17 part 1 2023-12-17 19:04:01 +01:00
d78d74c92d Implement 2023 day 16 part 2 2023-12-16 12:03:08 +01:00
c2389e93af Implement 2023 day 16 part 1 2023-12-16 11:38:50 +01:00
682e6f06b8 Flatten DP buffers
Going from 2d to 1d arrays improves cache locality and vectorization,
resulting in a roughly 40% speedup for part 2.
2023-12-15 17:39:59 +01:00
673e8184ed Zero init > 1 init 2023-12-15 09:03:06 +01:00
6657519179 Why have many hash map when few do trick 2023-12-15 08:54:02 +01:00
f898ffd216 Implement 2023 day 15 part 1 2023-12-15 08:45:19 +01:00
862ef3840c Implement 2023 day 15 part 1 2023-12-15 08:06:19 +01:00
44a1bcdc62 Merge owned and non-owned grids
Through the power of generics. Should've been easier if it was possible
to be generic over mutable and non-mutable, but AsRef/AsMut is close
enough
2023-12-14 21:33:09 +01:00
b7baebd050 Very clunky implementation of 2023 day 14 part 2 2023-12-14 20:05:25 +01:00
4f67ce4891 mplement 2023 day 14 part 1 2023-12-14 08:37:07 +01:00
975a1f8faf Misc fixes 2023-12-13 18:41:15 +01:00
0c4430ad01 Implement 2023 day 13 part 2 2023-12-13 18:33:09 +01:00
0838646973 Implement 2023 day 13 part 1 2023-12-13 18:21:19 +01:00
e449672487 Reduce dimensions of DP memo
We don't actually need all days, we just need the previous to build the
next
2023-12-12 18:14:32 +01:00
83d14af4f3 Missing sample 2023-12-12 12:20:13 +01:00
ec80523cac Implement 2023 day 12 2023-12-12 12:16:03 +01:00
06894b3455 Implement 2023 day 11 part 2 2023-12-11 08:54:33 +01:00
fb7e6d0a92 Implement 2023 day 11 part 1 2023-12-11 08:48:37 +01:00
43bf260887 Implement 2023 day 10 part 2 2023-12-10 11:45:18 +01:00