Commit Graph

659 Commits

Author SHA1 Message Date
01300de076 Avoid sorting the entire list
Or materializing the list for that matter, since we only need to compare
each entry against both markers
2023-07-01 17:35:35 +02:00
d5d9b1c192 Bunch of clippy fixes 2023-01-28 22:52:46 +01:00
e914c17f81 Codegen optimization is my passion 2023-01-28 22:33:48 +01:00
c35858239f Also prune while queueing 2023-01-28 22:21:33 +01:00
5ea0f6fa6f Use correct early cut-off bound 2023-01-28 22:00:12 +01:00
5045f83df8 Slightly more efficient search 2023-01-28 13:45:58 +01:00
787e215f84 Horrible brute force part 2 2023-01-28 12:22:35 +01:00
286fc3dd7f Terribly inefficient part 1 2023-01-27 19:57:58 +01:00
4044af4d8d Implement 2022 day 24 part 2 2023-01-02 22:18:33 +01:00
93c1d8f957 Implement 2022 day 24 part 1 2023-01-02 18:56:47 +01:00
dcc387ef2c Implement 2022 day 25 2022-12-25 20:34:52 +01:00
2d3f55097c Simple type to help clippy 2022-12-23 19:12:20 +01:00
72504d71ef Implement 2022 day 23 part 2 2022-12-23 18:16:32 +01:00
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