Commit Graph
100 Commits
Author SHA1 Message Date
warrence f312893ed1 Add solution for "Day 22: Monkey Market", part 2 2025-06-10 21:27:09 +02:00
warrence f025896e84 Add solution for "Day 22: Monkey Market", part 1 2025-06-10 19:46:06 +02:00
warrence 83c66682ef Add solution for "Day 21: Keypad Conundrum", part 2 2025-06-09 18:28:16 +02:00
warrence ab26563e34 Changed the order in Point2::getCardinalDirection() to match static member order 2025-06-05 23:32:44 +02:00
warrence 60798118ea Add solution for "Day 21: Keypad Conundrum", part 1 2025-06-05 23:31:30 +02:00
warrence c67bb9054a Remove unnecessary iterator use 2025-06-04 23:37:32 +02:00
warrence e1eb8fbe2b Add solution for "Day 20: Race Condition", part 2 2025-06-04 23:36:07 +02:00
warrence 43f1798343 Add solution for "Day 20: Race Condition", part 1 2025-06-03 19:30:43 +02:00
warrence 32a239d14a Removed input paths parameter from public TestContext methods 2025-06-03 19:30:42 +02:00
warrence 63745ee91f Add insertion operator for Grid class 2025-06-03 19:30:41 +02:00
warrence 05d627a176 Fix newline at end of file 2025-06-03 19:30:41 +02:00
warrence 21e154ed34 Add Lines::findChar() to search for starting points in mazes 2025-06-03 19:30:40 +02:00
warrence 2afa527a85 Add solution for "Day 19: Linen Layout", part 2 2025-06-03 19:30:40 +02:00
warrence 12fdc184cf Add solution for "Day 19: Linen Layout", part 1 2025-06-01 23:00:16 +02:00
warrence f8f431b61a Add solution for "Day 18: RAM Run", part 2 2025-05-25 21:15:11 +02:00
warrence bb1dab33e9 Add solution for "Day 18: RAM Run", part 1 2025-05-22 18:28:47 +02:00
warrence 99c31bc0ea Fix linter messages 2025-05-22 16:13:48 +02:00
warrence 0b70db7670 Change long long int to fixed width integer type int64_t 2025-05-22 16:12:56 +02:00
warrence 97b61836d8 Add TestContext::runGeneric() template function (and variants) 2025-05-21 20:50:12 +02:00
warrence 4b95a250bd Update the clang format include categories 2025-05-21 20:49:15 +02:00
warrence 45ab5f93ec Add solution for "Day 17: Chronospatial Computer", part 2 2025-05-21 20:34:34 +02:00
warrence 5201dcf0bc Fix day 17 division instruction (it's just a shift) 2025-05-21 20:23:42 +02:00
warrence 6d3973bd1e Add solution for "Day 17: Chronospatial Computer", part 1 2025-05-17 00:05:50 +02:00
warrence 09e34b9562 Fix code formatting 2025-05-17 00:04:15 +02:00
warrence fef88ac3fe Fix copyright dates 2025-05-17 00:03:52 +02:00
warrence 7ad1b01879 Change Solver into template class to allow for non-integer results 2025-05-17 00:02:53 +02:00
warrence 26dfb379a2 Add solution for "Day 16: Reindeer Maze", part 2 2025-05-14 21:16:14 +02:00
warrence 897bab12bf Change Dijkstra's algorithm to return all shortest distances 2025-05-14 20:53:39 +02:00
warrence 73ead5aea7 Add vertex weights and neighbor iterator for WeightedEdgeGraph 2025-05-14 20:51:49 +02:00
warrence 911bcf6701 Fix a recently introduced potential bug in day 10 solver 2025-05-14 20:45:24 +02:00
warrence 7f0b70c8ef Moved day 16 graph construction into own method 2025-05-05 19:06:51 +02:00
warrence 4302a7b2f7 Fix Dijkstra's Algorithm by exiting early at target vertex 2025-05-05 19:05:02 +02:00
warrence 1c860f7e4c Fix code messages 2025-04-30 20:45:09 +02:00
warrence 01c300dce1 Added sub folders for common, extra, and framework code files 2025-04-30 20:37:03 +02:00
warrence 08a94ba068 Add solution for "Day 16: Reindeer Maze", part 1 2025-04-30 20:05:51 +02:00
warrence a819caba8b Add less than operator for Point2 2025-04-30 19:27:28 +02:00
warrence e0cd315909 Add solution for "Day 6: Guard Gallivant", part 2 2025-03-23 16:42:51 +01:00
warrence 51b537098d Add solution for "Day 15: Warehouse Woes", part 2 2025-03-09 16:21:28 +01:00
warrence 8e67c19f98 Add TestContext::runPart1() for tests that are only valid for part 1 of a puzzle 2025-03-09 16:00:19 +01:00
warrence 047abf9772 Add Lines class to allow LinesSolver to externalize access to its vector of string 2025-03-09 15:59:23 +01:00
warrence 02af288ebc Add solution for "Day 15: Warehouse Woes", part 1 2025-03-04 12:06:16 +01:00
warrence 8d75bdfbef Add solution for "Day 14: Restroom Redoubt", part 2 2025-02-25 20:16:03 +01:00
warrence a75535bab7 Add solution for "Day 14: Restroom Redoubt", part 1 2025-02-19 14:15:34 +01:00
warrence 449e33d2a3 Fix code formatting 2025-02-19 11:23:09 +01:00
warrence 973f62163d Add solution for "Day 13: Claw Contraption", part 2 2025-02-18 16:11:29 +01:00
warrence e6a132521b Fix inconsistent string stream naming 2025-02-18 15:01:43 +01:00
warrence bd5df5d019 Add solution for "Day 13: Claw Contraption", part 1 2025-02-18 15:01:11 +01:00
warrence 5b15e36bc5 Add solution for "Day 12: Garden Groups", part 2 2025-02-17 15:23:55 +01:00
warrence f3682a46a9 Add TestContext::runPart2 for tests that are only valid for part 2 of a puzzle 2025-02-17 15:23:05 +01:00
warrence ce77b2354c Change Point2 to use STL arrays for predefined directions 2025-02-17 15:07:20 +01:00
warrence 0718a1285e Add tests for additional day 12 examples 2025-02-14 18:58:09 +01:00
warrence ee60c23cfb Fix implicit cast issues in PrintQueue 2025-02-14 18:38:34 +01:00
warrence 26f40147d2 Remove Solver::getPuzzleTitle() again and do it directly in SolverEngine::run() 2025-02-14 18:24:45 +01:00
warrence 979961d60e Change Solver puzzle title use and add optional input file name suffix 2025-02-14 17:13:05 +01:00
warrence 28baf4db3e Add solution for "Day 12: Garden Groups", part 1 2025-02-14 15:47:38 +01:00
warrence 8bea3c2c48 Remove unused includes 2025-02-14 12:03:03 +01:00
warrence ba3d151e96 Fix readme typos 2025-02-14 11:24:58 +01:00
warrence d8ae103928 Add solution for "Day 9: Disk Fragmenter", part 2 2025-02-14 11:24:31 +01:00
warrence 648f6d4ebc Rename LinesSolver::getPosition()/setPosition() to getCharAt()/setCharAt() 2025-02-04 17:50:38 +01:00
warrence 54204766ec Add solution for "Day 9: Disk Fragmenter", part 1 2025-02-04 17:44:06 +01:00
warrence e1cd0867cb Add solution for "Day 8: Resonant Collinearity", part 2
The Point2::operator<() was introduced for set<Point2>, which is not actually required.
2025-02-04 17:43:20 +01:00
warrence 44f2a0e0ec Add solution for "Day 8: Resonant Collinearity", part 1 2025-01-29 22:04:12 +01:00
warrence c4b2684d66 Add solutions for "Day 7: Bridge Repair" 2025-01-29 09:38:01 +01:00
warrence 9bc4c3e6be Fix file encodings 2025-01-24 08:57:45 +01:00
warrence d2e64d2518 Fixed readme links 2025-01-22 20:42:47 +01:00
warrence 21279a97a6 Add solution for "Day 11: Plutonian Pebbles", part 2 2025-01-22 20:38:08 +01:00
warrence eaee3bd347 Add solution for "Day 11: Plutonian Pebbles", part 1 2025-01-21 14:07:38 +01:00
warrence 7bca5d29d0 Fix operator code formatting 2025-01-21 14:04:21 +01:00
warrence 0f60b23b33 Change constants methods to static constexpr 2025-01-21 14:03:40 +01:00
warrence 0b72b7efdc Remove raw array use from PrintQueue 2025-01-21 14:02:10 +01:00
warrence ae99d41cf4 Add Grid::fill() 2025-01-21 14:00:38 +01:00
warrence ab7aa394dc Fix constructor code formatting 2025-01-21 13:56:42 +01:00
warrence 22c858dd59 Change clang format line width to 120 2025-01-21 13:54:06 +01:00
warrence 2d63375daa Fix broken Point2 inequality operator 2025-01-02 17:23:15 +01:00
warrence 5909474603 Update readme 2025-01-01 21:39:31 +01:00
warrence 13a49b6735 Update clang format for templates 2024-12-30 22:32:50 +01:00
warrence 60a952fd5e Update HoofIt to use Grid 2024-12-30 22:30:32 +01:00
warrence 7aeaab2c49 Add Grid class as wrapper for two-dimensional array 2024-12-30 22:29:14 +01:00
warrence 06afa3ae2e Fix method order (constants methods first) 2024-12-25 21:44:39 +01:00
warrence 69a4b4becc Add missing virtual modifiers 2024-12-25 21:43:58 +01:00
warrence 2e2a95faef Add const to GuardGallivant.getStartDirectionIndex() 2024-12-25 21:43:20 +01:00
warrence 1fd73c1a18 Rename LanParty method to "compute..." 2024-12-25 21:34:13 +01:00
warrence c777bad38a Add const for Vertex id and getter 2024-12-25 21:27:27 +01:00
warrence d314b2fc70 Add const modifier for constants methods 2024-12-25 21:24:20 +01:00
warrence c783d20755 Add solution for "Day 23: LAN Party", part 1 2024-12-25 21:06:41 +01:00
warrence e0a9a807da Fix some private field identifiers 2024-12-24 15:30:14 +01:00
warrence 262a84fa68 Add missing test cases 2024-12-23 19:41:44 +01:00
warrence f644f6bd42 Enable clang format again and disable AllowShortFuctionOnASinlgeLine 2024-12-23 18:28:12 +01:00
warrence 896d41c561 Update TestContext to simply provide a generic test run and the input path methods 2024-12-23 18:26:03 +01:00
warrence c85cffb992 Update test cases to test both parts together
The test cases for parts 1 and 2 differ only in the tested condition, not in the
tests themselves. This removes the need for derived test context classes.
2024-12-23 18:04:59 +01:00
warrence 73446b2d83 Add TestCaseBase.run() to replace the template
The template was not necessary and this now allows for use of custom constructors in the test cases.
2024-12-23 17:53:48 +01:00
warrence ff454776fa Add solution for "Day 10: Hoof It", part 2 2024-12-22 22:59:38 +01:00
warrence eb8f7f7221 Add solution for "Day 10: Hoof It", part 1 2024-12-22 22:43:37 +01:00
warrence 4ed3b84cb6 Fix inheritance formatting 2024-12-11 01:38:26 +01:00
warrence fa38fa695b Rename .h file extension to .hpp, and fix some include orderings 2024-12-11 01:37:34 +01:00
warrence f2126f6c7c Disable clang format because of constructor bin pack issues 2024-12-11 00:43:14 +01:00
warrence a4f21371c3 Fix bad unique pointer usage 2024-12-11 00:42:28 +01:00
warrence 2d3b516bbe Update clang format config 2024-12-10 21:58:58 +01:00
warrence 78d0f59886 Merge branch 'cmake' 2024-12-08 11:00:55 +01:00
warrence a6ed7bb65b Add solution for "Day 6: Guard Gallivant", part 1 2024-12-06 23:31:38 +01:00