854 Commits

Author SHA1 Message Date
bert d0243fcf4d Create generic bounding box function. 2019-12-17 18:57:05 +01:00
bert 1968e4c5b4 Really ugly but working day 17 part 2. 2019-12-17 18:26:54 +01:00
bert 3a9dcd0072 Implement day 17 part 1. 2019-12-17 06:26:48 +01:00
bert 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
bert 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
bert 36c1692916 Reduce allocations even more. 2019-12-16 22:41:24 +01:00
bert 77cb308287 Reduce allocations. 2019-12-16 13:14:29 +01:00
bert 596e8ccde3 Implement n log n advancement. 2019-12-16 13:10:51 +01:00
bert c46f0f9e2e Implement day 16 part 2. 2019-12-16 08:30:17 +01:00
bert a5a0e6f860 Partial incorrect part 2. 2019-12-16 07:22:06 +01:00
bert 44f8108b1d Implement day 16 part 1. 2019-12-16 06:29:57 +01:00
bert 1d0fae267b Prevent unnecessary copy 2019-12-15 18:25:28 +01:00
bert 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
bert 1b57799b3f Implement day 15 part 1. 2019-12-15 17:38:22 +01:00
bert c023ce745b Fix broken computer. 2019-12-15 11:45:42 +01:00
bert 6d388b068b Small input utility. 2019-12-14 19:50:56 +01:00
bert 5ce69e4dff Finally remove the second intcode implementation. 2019-12-14 19:38:06 +01:00
bert 61f499e8e9 Remove more old intcode references. 2019-12-14 16:10:10 +01:00
bert a655436ac6 Make topological sort generic. 2019-12-14 15:52:55 +01:00
bert 17a37ccf5a Optimize dependency order by topological sort. 2019-12-14 15:32:06 +01:00
bert 535d37ca42 Implement day 14 part 2. 2019-12-14 14:48:47 +01:00
bert 5306e7aa94 Implement day 14 part 1. 2019-12-14 14:15:59 +01:00
bert 1171e34c18 Implement reading from file. 2019-12-13 22:35:08 +01:00
bert b79c4c9fd1 Implement day 13 part 2. 2019-12-13 22:34:45 +01:00
bert 98f790242c Implement day 13 part 1. 2019-12-13 07:20:59 +01:00
bert 09a0a9513b Finish day 12. 2019-12-12 18:09:59 +01:00
bert 1a1d5f8b82 Unit tests for day 12 part 2. 2019-12-12 08:38:08 +01:00
bert 3d60859079 Implement day 12 part 1. 2019-12-12 08:15:01 +01:00
bert fe9c21aea9 Implement day 11. 2019-12-11 18:06:47 +01:00
bert 4f65ed7b2a Reduce allocations. 2019-12-10 18:47:28 +01:00
bert 4c268eae60 Implement day 10 part 2. 2019-12-10 18:44:39 +01:00
bert b35683c600 Add unit tests for part 1. 2019-12-10 18:35:58 +01:00
bert ffdebf61bf Implement day 10 part 1. 2019-12-10 08:01:34 +01:00
bert a1ef62cd44 Reuse IntCodeComputer for part 1. 2019-12-09 18:33:34 +01:00
bert c0396fb32c Add day 9 input. 2019-12-09 18:31:13 +01:00
bert b263d81f91 Implement day 9. 2019-12-09 18:24:17 +01:00
bert 2cf409e481 Implement day 8. 2019-12-08 08:00:38 +01:00
bert 0613778036 Very ugly solution to part 2. 2019-12-07 16:39:41 +01:00
bert 99b42ff04e Implement day 7 part 1. 2019-12-07 08:14:06 +01:00
bert 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
bert 5c9dc0b6bd Replace BFS with an ancestor search. 2019-12-06 18:11:03 +01:00
bert 43e03c742b Implement day 06.
I forgot how slow std::regex was to compile.
2019-12-06 08:37:15 +01:00
bert f9caa8d1a9 Partial day 06. 2019-12-06 07:26:46 +01:00
bert 0bf29b1e42 Reuse general intcode implementation. 2019-12-05 18:19:26 +01:00
bert c62bcf010f Implement day 05. 2019-12-05 18:19:14 +01:00
bert 8a431820b0 Implement day 04. 2019-12-04 07:59:18 +01:00
bert b31d56c4ac Small reading utility. 2019-12-04 07:58:59 +01:00
bert 3dca1a46e1 Implement day 03. 2019-12-03 18:27:17 +01:00
bert a40da965f0 Partial implementation for part 2. 2019-12-03 18:04:34 +01:00
bert a1d871fd17 Implement day 03 part 1. 2019-12-03 17:24:51 +01:00