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
1582b556d8
Refactor range of coordinates to own function.
2018-12-06 16:37:19 +01:00
c44ebaa238
Refactor grouping count into a trait.
2018-12-06 16:19:52 +01:00
d53100e591
Move sample and input files.
...
IDEA doesn't like files without extension.
2018-12-06 15:43:28 +01:00
f77e5adf2a
Implement day 6.
2018-12-06 13:08:28 +01:00
bdea21d92b
Day 06 inputs.
2018-12-06 11:10:51 +01:00