Commit Graph

121 Commits

Author SHA1 Message Date
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
ffdebf61bf Implement day 10 part 1. 2019-12-10 08:01:34 +01:00
a1ef62cd44 Reuse IntCodeComputer for part 1. 2019-12-09 18:33:34 +01:00
c0396fb32c Add day 9 input. 2019-12-09 18:31:13 +01:00
b263d81f91 Implement day 9. 2019-12-09 18:24:17 +01:00
2cf409e481 Implement day 8. 2019-12-08 08:00:38 +01:00
0613778036 Very ugly solution to part 2. 2019-12-07 16:39:41 +01:00
99b42ff04e Implement day 7 part 1. 2019-12-07 08:14:06 +01:00
594c061c60 Replace regex with simpler string parsing.
Remove the dependency on std::regex which is slow to both compile and
run. Saves about half the execution time.
2019-12-06 18:25:18 +01:00
5c9dc0b6bd Replace BFS with an ancestor search. 2019-12-06 18:11:03 +01:00
43e03c742b Implement day 06.
I forgot how slow std::regex was to compile.
2019-12-06 08:37:15 +01:00
f9caa8d1a9 Partial day 06. 2019-12-06 07:26:46 +01:00
0bf29b1e42 Reuse general intcode implementation. 2019-12-05 18:19:26 +01:00
c62bcf010f Implement day 05. 2019-12-05 18:19:14 +01:00
8a431820b0 Implement day 04. 2019-12-04 07:59:18 +01:00
b31d56c4ac Small reading utility. 2019-12-04 07:58:59 +01:00
3dca1a46e1 Implement day 03. 2019-12-03 18:27:17 +01:00
a40da965f0 Partial implementation for part 2. 2019-12-03 18:04:34 +01:00
a1d871fd17 Implement day 03 part 1. 2019-12-03 17:24:51 +01:00
acd5f6d215 Add unit tests for day 1. 2019-12-02 22:05:23 +01:00
403b2889a2 Better use of move and copy constructors. 2019-12-02 19:40:18 +01:00
3fc7390eaa Implement day 2. 2019-12-02 19:35:09 +01:00