Commit Graph

572 Commits

Author SHA1 Message Date
17efdb61c4 Improve day 20 part 1.
Now use an implicit graph of nodes. This allows us to use the same graph information for part 2. Spoilers.
2019-12-25 17:00:16 +01:00
6a6bbac509 Add tests for day 20 part 1. 2019-12-25 17:00:16 +01:00
28da5c7e9b Implement day 20 part 1. 2019-12-25 17:00:16 +01:00
6211990235 Implement day 24 part 2. 2019-12-24 18:45:12 +01:00
3c682b31e9 Implement day 24 part 1. 2019-12-24 16:38:36 +01:00
3da0605201 Speed up day 18 part 2. 2019-12-23 23:48:53 +01:00
8bbd9705a6 Optimize day 18 a bit. 2019-12-23 23:36:33 +01:00
2a75d1be4c Initial work on day 22. 2019-12-23 22:48:54 +01:00
8f112aa91f Implement day 18 part 2.
It's really slow so I'll have to improve it.
2019-12-23 22:25:21 +01:00
06ca806927 Implement day 18 part 1. 2019-12-23 20:32:22 +01:00
ebb85b2257 Work on an actual algorithm for day 17. 2019-12-23 18:45:16 +01:00
46b2ae6ef0 Implement starting point for day 10. 2019-12-23 18:36:48 +01:00
daf0d86f37 Solution to day 21. 2019-12-23 18:35:31 +01:00
51611f406c Consistent input naming. 2019-12-20 07:50:11 +01:00
55df635937 Day 20 input. 2019-12-20 07:49:45 +01:00
825f08d01e Implement day 19 part 2. 2019-12-19 20:57:28 +01:00
73898e1cb7 Implement day 19 part 1. 2019-12-19 20:24:34 +01:00
7116979d62 Part 18 not working 2019-12-19 18:08:21 +01:00
d0243fcf4d Create generic bounding box function. 2019-12-17 18:57:05 +01:00
1968e4c5b4 Really ugly but working day 17 part 2. 2019-12-17 18:26:54 +01:00
3a9dcd0072 Implement day 17 part 1. 2019-12-17 06:26:48 +01:00
73fe093450 Optimize part 2.
Allocate only the size of the buffer that's necessary. Also calculate the partial sums backwards so there's no switch needed later.
2019-12-16 23:29:22 +01:00
77b1728397 Day 16 part 1: optimize all but initial allocations.
I don't think this can be much faster.
2019-12-16 23:02:53 +01:00
36c1692916 Reduce allocations even more. 2019-12-16 22:41:24 +01:00
77cb308287 Reduce allocations. 2019-12-16 13:14:29 +01:00
596e8ccde3 Implement n log n advancement. 2019-12-16 13:10:51 +01:00
c46f0f9e2e Implement day 16 part 2. 2019-12-16 08:30:17 +01:00
a5a0e6f860 Partial incorrect part 2. 2019-12-16 07:22:06 +01:00
44f8108b1d Implement day 16 part 1. 2019-12-16 06:29:57 +01:00
1d0fae267b Prevent unnecessary copy 2019-12-15 18:25:28 +01:00
55f39d896f Implement day 15 part 2.
I don't know why my intcode was broken for so long.
2019-12-15 17:47:12 +01:00
1b57799b3f Implement day 15 part 1. 2019-12-15 17:38:22 +01:00
c023ce745b Fix broken computer. 2019-12-15 11:45:42 +01:00
6d388b068b Small input utility. 2019-12-14 19:50:56 +01:00
5ce69e4dff Finally remove the second intcode implementation. 2019-12-14 19:38:06 +01:00
61f499e8e9 Remove more old intcode references. 2019-12-14 16:10:10 +01:00
a655436ac6 Make topological sort generic. 2019-12-14 15:52:55 +01:00
17a37ccf5a Optimize dependency order by topological sort. 2019-12-14 15:32:06 +01:00
535d37ca42 Implement day 14 part 2. 2019-12-14 14:48:47 +01:00
5306e7aa94 Implement day 14 part 1. 2019-12-14 14:15:59 +01:00
1171e34c18 Implement reading from file. 2019-12-13 22:35:08 +01:00
b79c4c9fd1 Implement day 13 part 2. 2019-12-13 22:34:45 +01:00
98f790242c Implement day 13 part 1. 2019-12-13 07:20:59 +01:00
09a0a9513b Finish day 12. 2019-12-12 18:09:59 +01:00
1a1d5f8b82 Unit tests for day 12 part 2. 2019-12-12 08:38:08 +01:00
3d60859079 Implement day 12 part 1. 2019-12-12 08:15:01 +01:00
fe9c21aea9 Implement day 11. 2019-12-11 18:06:47 +01:00
4f65ed7b2a Reduce allocations. 2019-12-10 18:47:28 +01:00
4c268eae60 Implement day 10 part 2. 2019-12-10 18:44:39 +01:00
b35683c600 Add unit tests for part 1. 2019-12-10 18:35:58 +01:00