Commit Graph

61 Commits

Author SHA1 Message Date
45e0cd6273 Implement 2022 day 23 part 1 2022-12-23 18:03:57 +01:00
a8752ad7a4 Implement 2022 day 22 part 1 2022-12-23 09:03:26 +01:00
06a61ab62c Implement 2022 day 21 part 2 2022-12-21 21:13:22 +01:00
6c58a3ba69 Implement 2022 day 21 part 1 2022-12-21 08:47:47 +01:00
b1d9314bc7 Remove useless code 2022-12-20 22:48:17 +01:00
abde2ae548 Always walk the short way around the circle 2022-12-20 22:42:17 +01:00
24c03ae241 Implement 2022 day 20 2022-12-20 22:27:12 +01:00
a3f9edd48d Disturbingly simple optimization 2022-12-18 22:57:19 +01:00
483aeb7e4d Finally implement 2022 day 17 part 2 2022-12-18 22:40:15 +01:00
0c183b316e Refactor common code out 2022-12-18 21:31:02 +01:00
594226320d Implement 2022 day 17 part 1 2022-12-18 21:21:14 +01:00
a713d8690a Implement 2022 day 18 part 2 2022-12-18 20:21:16 +01:00
f8fcc8ebba Implement 20220 day 18 part 1
Very inefficient and with too much hashset, but it works
2022-12-18 17:19:34 +01:00
1f9915e79d Simplify algorithm by unsimplifying graph 2022-12-17 12:38:44 +01:00
96c411126c Implement 2022 day 16 2022-12-17 11:57:42 +01:00
9aad6fe511 Non-functional implementation of 2022 day 16 part 1 2022-12-17 11:04:46 +01:00
84110350ff Implement 2022 day 15 part 2 2022-12-16 08:28:06 +01:00
0f64ec4e8f Implement 2022 day 15 part 1 2022-12-15 18:16:49 +01:00
065fa9cda8 Move Vec2 to common utilities 2022-12-15 09:16:46 +01:00
7de23c3b24 Satiate clippy 2022-12-15 09:09:30 +01:00
c66fb86ef9 Implement 2022 day 14 part 2 2022-12-14 22:27:12 +01:00
64757031fb Implement 2022 day 14 part 1 2022-12-14 21:47:11 +01:00
f48a02c81c Stream to reduce peak allocations 2022-12-13 18:22:26 +01:00
4b18a733c9 Implement 2022 day 13 2022-12-13 18:15:12 +01:00
796c638300 Document optimization journey 2022-12-12 22:58:56 +01:00
f8c6f4e01f Refactor out common code 2022-12-12 22:46:30 +01:00
e2d1ec8c91 Bugfix that probably won't affect any actual input 2022-12-12 22:32:41 +01:00
d92e77cb88 Reinstroduce the humble index set 2022-12-12 21:52:11 +01:00
a4b5390f80 Implement 2022 day 12 2022-12-12 18:39:44 +01:00
6d9defce42 Discover the magic of nom::combinator::value 2022-12-11 22:27:25 +01:00
92db6e56c9 Use multiplication and shift for mod 2022-12-11 22:03:47 +01:00
6a51f123ab Implement 2022 day 11 part 2 2022-12-11 21:13:09 +01:00
9a63adc355 Implement 2022 day 11 part 1 2022-12-11 20:34:47 +01:00
a7188186c3 Actually test part two, why not 2022-12-10 22:21:04 +01:00
a79eb70581 Cleaner but slightly slower implementation 2022-12-10 22:00:56 +01:00
fbfcfa65fb Implement 2022 day 10 2022-12-10 21:50:31 +01:00
20b2fe7684 Remove useless lifetime 2022-12-09 12:00:22 +01:00
e45aaad1c4 Faster hash set 2022-12-09 11:43:33 +01:00
a44420cbe7 Implement 2022 day 9 2022-12-09 11:22:24 +01:00
44b7b6b1b2 Incorrect implementation for 2022 day 9 2022-12-09 11:09:36 +01:00
79387b5f14 Slightly more efficient O(kn) implementation 2022-12-08 22:40:39 +01:00
a05dc588db Implement 2022 day 8 part 2 2022-12-08 12:09:04 +01:00
b080859356 Replace todo with error, bench everything 2022-12-08 11:06:59 +01:00
fead587b2a Implement 2022 day 8 part 1 2022-12-08 11:01:48 +01:00
eec886b5e2 Slightly cleaner parser 2022-12-07 16:01:09 +01:00
45a6c78d77 Remove most allocations 2022-12-07 15:27:30 +01:00
e80b5bde68 Implement 2022 day 7 2022-12-07 10:27:06 +01:00
1cd5579bf6 Use iterators instead of explicit indexing 2022-12-06 18:37:38 +01:00
7c7c69255d Replace indirect indexing
230 byte overhead is worth it to avoid conversions and potential
indexing errors
2022-12-06 18:23:43 +01:00
391bba24c5 Use enumerate combinator 2022-12-06 18:19:42 +01:00