Commit Graph

373 Commits

Author SHA1 Message Date
c7881c47b9 Implement day 20 part 2. 2019-12-25 17:00:16 +01:00
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