Commit Graph

69 Commits

Author SHA1 Message Date
45a8b38ad4 Implement day 17.
Today was a nice exercise, and I got to be somewhat fast too. Number 328/314.
2018-12-17 08:18:25 +01:00
eaa868017d Elaborate on tests. 2018-12-16 16:31:17 +01:00
fbac0fb7f7 Update README.
README now includes a small graphic with the lines of code per day.
2018-12-16 16:27:29 +01:00
718fd72cef Implement day 16 part 2. 2018-12-16 16:19:37 +01:00
4fa6998369 Implement day 16 part 1. 2018-12-16 11:12:32 +01:00
5b87c12b5f Remove numpy dependency. 2018-12-16 00:20:08 +01:00
ed77e30cbf Add a plotting script for how terrible simulations are. 2018-12-15 23:24:36 +01:00
7369fd2290 Small improvement to day 15. 2018-12-15 22:25:59 +01:00
14a766f6f2 Implement day 15 part 2. 2018-12-15 22:16:30 +01:00
10918a62ad Fix day 15 part 1. 2018-12-15 21:12:58 +01:00
ae51e3c114 Clean up and simplify.
The idea is that this makes it easier to debug. I'm not sure it does
yet.
2018-12-15 19:12:33 +01:00
44e5c38268 Attempt to fix Ubuntu incompatibility. 2018-12-15 18:11:16 +01:00
baf07a7eaf Reuse manhattan implementation from common. 2018-12-15 18:08:42 +01:00
069e381aeb Partial solution for day 15 part 1.
Partial in the sense that it doesn't actually work for my input, only
for the samples.
2018-12-15 18:02:16 +01:00
bcccc85073 Reimplement day 14 with infinite streams. 2018-12-14 14:48:53 +01:00
ccdbea4a1c Off-by-one bug fix 2018-12-14 12:02:27 +01:00
5c4646b323 Clean up. 2018-12-14 11:48:48 +01:00
f4a7b06d47 Reuse input helper. 2018-12-14 11:42:44 +01:00
98da0a9857 Implement day 14. 2018-12-14 11:37:30 +01:00
faf3ad90d9 Make day 12 even more rusty. 2018-12-13 14:55:30 +01:00
0de6e22a00 Deduplicate day 12. 2018-12-13 14:47:00 +01:00
91f0ec55f1 Slightly cleaned up by using structs. 2018-12-13 11:44:18 +01:00
e6c8c6b100 Implement a very ugly part 2. 2018-12-13 11:24:03 +01:00
973c9ed63b Add a part1 implementation and wrong part2. 2018-12-13 10:52:32 +01:00
e22f934ea6 Remove code duplication. 2018-12-12 16:12:26 +01:00
8340f2c8fa Preallocate correct state length. 2018-12-12 13:08:35 +01:00
247613555b Implement day 12 part 2.
This in no way should work, but it does, at least for my input.
2018-12-12 12:44:27 +01:00
fd3e509841 Implement part 1 of day 12.
Part two is going to take 31 hours of computation, so I might need to
improve that.
2018-12-12 11:30:45 +01:00
b245e0911d Implement the summed-area-table algorithm.
Which is somewhat awkward for the edge cases (that are not in my input!)
but is really fast anyway.
2018-12-11 18:14:15 +01:00
4b8255728c Remove an invalid optimization. 2018-12-11 15:49:39 +01:00
59be8e9d7a Implement day 11 part 2. 2018-12-11 11:06:20 +01:00
ff8bc97329 Implement day 11 part 1. 2018-12-11 10:31:23 +01:00
eaf1156ae0 Refactor for autovectorization.
By storing x/y as a vector of ints instead of a vector of tuples, the
compiler recognizes it for what it is: a huge vector multiplication. Now
the compiler emits AVX2 instructions.
2018-12-10 17:13:10 +01:00
c3480482f2 Implement an estimator function for day 10.
This bumps the speed tenfold.
2018-12-10 14:17:57 +01:00
c94555fda1 Implement day 10.
This implementation is stupid but it works.
2018-12-10 13:13:29 +01:00
63a5f81d8c Pre-allocate correct size. 2018-12-09 17:47:22 +01:00
c17be69910 Replace linkedlist with VecDeq.
Slightly slower but a lot cleaner.
2018-12-09 13:27:05 +01:00
9b287a0098 Prepare future scaffolding.
Also reformat the code, but that is nothing significant.
2018-12-09 13:02:54 +01:00
9b04e3b2c9 Implement day 9 part 2.
Linked lists in rust are a pain, but we got there.
2018-12-09 10:57:47 +01:00
e101dbd58c Move get_impl to crate. 2018-12-09 10:49:04 +01:00
1d5869af70 Implement day 9 part 1. 2018-12-09 10:47:21 +01:00
cf6f4f9e1e Better usage of clap. 2018-12-08 08:00:43 +01:00
880ae49be6 Split lib/bin. 2018-12-08 07:37:04 +01:00
c0052c8c24 Replace filter + map with filter_map. 2018-12-08 07:32:46 +01:00
7245cdf6b5 Implement day 08 in rust. 2018-12-08 07:15:27 +01:00
2b732c2285 Implement day 08, in python.
Attempted to reach the leaderboard. Failed miserably. Trying again soon
anyway.
2018-12-08 07:13:48 +01:00
0c07cbda24 Remove unused hashset. 2018-12-07 18:13:40 +01:00
3deb4ceb9a Replace backwards edges with dependency count. 2018-12-07 17:27:26 +01:00
eee42a70f4 Implement part 2.
This one got kind of messy at the end.
2018-12-07 15:58:53 +01:00
7b56d98853 Implement day 07 part 1. 2018-12-07 11:26:25 +01:00