674553d29b
Refactor graph classes
...
- Extract base graph logic from WeightedEdgeGraph into new Graph class
- Add LabelGraph to replace old Graph class used by LanParty solver
- Rename WeightedEdgeGraph to WeightGraph and change it to use new Graph class
- Update affected solvers to use new graph classes
2025-06-13 16:43:41 +02:00
f312893ed1
Add solution for "Day 22: Monkey Market", part 2
2025-06-10 21:27:09 +02:00
f025896e84
Add solution for "Day 22: Monkey Market", part 1
2025-06-10 19:46:06 +02:00
83c66682ef
Add solution for "Day 21: Keypad Conundrum", part 2
2025-06-09 18:28:16 +02:00
60798118ea
Add solution for "Day 21: Keypad Conundrum", part 1
2025-06-05 23:31:30 +02:00
e1eb8fbe2b
Add solution for "Day 20: Race Condition", part 2
2025-06-04 23:36:07 +02:00
43f1798343
Add solution for "Day 20: Race Condition", part 1
2025-06-03 19:30:43 +02:00
63745ee91f
Add insertion operator for Grid class
2025-06-03 19:30:41 +02:00
21e154ed34
Add Lines::findChar() to search for starting points in mazes
2025-06-03 19:30:40 +02:00
2afa527a85
Add solution for "Day 19: Linen Layout", part 2
2025-06-03 19:30:40 +02:00
12fdc184cf
Add solution for "Day 19: Linen Layout", part 1
2025-06-01 23:00:16 +02:00
f8f431b61a
Add solution for "Day 18: RAM Run", part 2
2025-05-25 21:15:11 +02:00
bb1dab33e9
Add solution for "Day 18: RAM Run", part 1
2025-05-22 18:28:47 +02:00
0b70db7670
Change long long int to fixed width integer type int64_t
2025-05-22 16:12:56 +02:00
45ab5f93ec
Add solution for "Day 17: Chronospatial Computer", part 2
2025-05-21 20:34:34 +02:00
6d3973bd1e
Add solution for "Day 17: Chronospatial Computer", part 1
2025-05-17 00:05:50 +02:00
fef88ac3fe
Fix copyright dates
2025-05-17 00:03:52 +02:00
7ad1b01879
Change Solver into template class to allow for non-integer results
2025-05-17 00:02:53 +02:00
26dfb379a2
Add solution for "Day 16: Reindeer Maze", part 2
2025-05-14 21:16:14 +02:00
897bab12bf
Change Dijkstra's algorithm to return all shortest distances
2025-05-14 20:53:39 +02:00
73ead5aea7
Add vertex weights and neighbor iterator for WeightedEdgeGraph
2025-05-14 20:51:49 +02:00
7f0b70c8ef
Moved day 16 graph construction into own method
2025-05-05 19:06:51 +02:00
1c860f7e4c
Fix code messages
2025-04-30 20:45:09 +02:00
01c300dce1
Added sub folders for common, extra, and framework code files
2025-04-30 20:37:03 +02:00
08a94ba068
Add solution for "Day 16: Reindeer Maze", part 1
2025-04-30 20:05:51 +02:00
a819caba8b
Add less than operator for Point2
2025-04-30 19:27:28 +02:00
e0cd315909
Add solution for "Day 6: Guard Gallivant", part 2
2025-03-23 16:42:51 +01:00
51b537098d
Add solution for "Day 15: Warehouse Woes", part 2
2025-03-09 16:21:28 +01:00
047abf9772
Add Lines class to allow LinesSolver to externalize access to its vector of string
2025-03-09 15:59:23 +01:00
02af288ebc
Add solution for "Day 15: Warehouse Woes", part 1
2025-03-04 12:06:16 +01:00
8d75bdfbef
Add solution for "Day 14: Restroom Redoubt", part 2
2025-02-25 20:16:03 +01:00
a75535bab7
Add solution for "Day 14: Restroom Redoubt", part 1
2025-02-19 14:15:34 +01:00
449e33d2a3
Fix code formatting
2025-02-19 11:23:09 +01:00
973f62163d
Add solution for "Day 13: Claw Contraption", part 2
2025-02-18 16:11:29 +01:00
bd5df5d019
Add solution for "Day 13: Claw Contraption", part 1
2025-02-18 15:01:11 +01:00
ce77b2354c
Change Point2 to use STL arrays for predefined directions
2025-02-17 15:07:20 +01:00
0718a1285e
Add tests for additional day 12 examples
2025-02-14 18:58:09 +01:00
26f40147d2
Remove Solver::getPuzzleTitle() again and do it directly in SolverEngine::run()
2025-02-14 18:24:45 +01:00
979961d60e
Change Solver puzzle title use and add optional input file name suffix
2025-02-14 17:13:05 +01:00
28baf4db3e
Add solution for "Day 12: Garden Groups", part 1
2025-02-14 15:47:38 +01:00
d8ae103928
Add solution for "Day 9: Disk Fragmenter", part 2
2025-02-14 11:24:31 +01:00
648f6d4ebc
Rename LinesSolver::getPosition()/setPosition() to getCharAt()/setCharAt()
2025-02-04 17:50:38 +01:00
54204766ec
Add solution for "Day 9: Disk Fragmenter", part 1
2025-02-04 17:44:06 +01:00
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
44f2a0e0ec
Add solution for "Day 8: Resonant Collinearity", part 1
2025-01-29 22:04:12 +01:00
c4b2684d66
Add solutions for "Day 7: Bridge Repair"
2025-01-29 09:38:01 +01:00
9bc4c3e6be
Fix file encodings
2025-01-24 08:57:45 +01:00
21279a97a6
Add solution for "Day 11: Plutonian Pebbles", part 2
2025-01-22 20:38:08 +01:00
eaee3bd347
Add solution for "Day 11: Plutonian Pebbles", part 1
2025-01-21 14:07:38 +01:00
0f60b23b33
Change constants methods to static constexpr
2025-01-21 14:03:40 +01:00