Stefan Müller
2ff41caf37
Added caching of calculated combinations per block for day 12
2024-11-19 22:58:15 +01:00
Stefan Müller
16e7528b34
Updated day 12 WIP performance refactor
...
- Added TValidationsToBlockAssignments to replace the loops in
TConditionRecord.GenerateBlockAssignments
2024-11-19 18:14:14 +01:00
Stefan Müller
ec6928679a
Updated day 12 WIP performance refactor
...
- Added combinations calculation directly to the multi-index enumerable
(TValidationPositionOffsets) and added new intermediate derived class
TAccumulatedCombinationsMultiIndexStrategy to make this reusable for the other
enumerables
- Removed TBinomialCoefficientCache instances and used new global instance instead
- Renamed TValidationToDamageAssignments to TDamageToValidationAssignments
2024-11-17 23:55:25 +01:00
Stefan Müller
05863842df
Added TBlock to replace the block strings for day 12
2024-11-15 19:08:33 +01:00
Stefan Müller
1642c7dcfb
Updated day 12 WIP solver (correct solution)
2024-11-12 19:16:12 +01:00
Stefan Müller
60ef49c1ee
Updated day 12 WIP solver
2024-11-10 23:04:01 +01:00
Stefan Müller
1d399cc5b6
Updated day 12 WIP solver
2024-11-09 00:42:11 +01:00
Stefan Müller
151b5dc49a
Updated day 12 WIP solver
2024-10-15 11:45:44 +02:00
Stefan Müller
c0ee7894ae
Added initial attempt for "Day 12: Hot Springs", part 2 including test cases
2024-07-03 20:48:50 +02:00
Stefan Müller
ba4195af82
Added solution for "Day 18: Lavaduct Lagoon", part 2
2024-07-03 20:41:19 +02:00
Stefan Müller
b086038aa5
Added solution for "Day 18: Lavaduct Lagoon", part 1
2024-06-29 01:03:16 +02:00
Stefan Müller
00f90a1da9
Fixed nested if block in USandSlabs.pas
2024-06-26 21:16:02 +02:00
Stefan Müller
d79bd2e78a
Removed unused unit includes, left from older changes
2024-06-25 22:23:58 +02:00
Stefan Müller
7b33e8b406
Added solution for "Day 17: Clumsy Crucible", part 2
2024-06-25 22:22:52 +02:00
Stefan Müller
ba1cefc371
Added solution for "Day 17: Clumsy Crucible", part 1
2024-06-19 22:38:24 +02:00
Stefan Müller
8eb76329c1
Moved common TPoint direction code into new unit
2024-06-10 20:48:07 +02:00
Stefan Müller
19509c6173
Fixed memory leak in TSnowverload
2024-06-10 20:46:54 +02:00
Stefan Müller
3f83f888f3
Updated solution for day 25, significantly speeding up the algorithm
2024-06-05 13:40:31 +02:00
Stefan Müller
c5ea70ed21
Added solution for "Day 25: Snowverload", part 1
2024-06-04 17:14:24 +02:00
Stefan Müller
859a5db921
Merge branch 'day24-analytical'
2024-05-27 02:53:03 +02:00
Stefan Müller
b27b14a153
Fixed day 24 helper variable indices
2024-05-27 02:52:22 +02:00
Stefan Müller
3e3e1d45d3
Added solution "Day 24: Never Tell Me The Odds", part 2
2024-05-27 02:29:49 +02:00
Stefan Müller
5b0a7996c5
Changed some of the expected input file names to stay closer to the day titles
2024-02-22 22:54:45 +01:00
Stefan Müller
44c2c845e0
Added WIP analytical solution attempt
2024-02-21 21:05:34 +01:00
Stefan Müller
571019d604
Removed fgl references
2023-12-30 23:20:52 +01:00
Stefan Müller
fb3f41a6af
Added solution for "Day 24: Never Tell Me The Odds", part 1
2023-12-26 19:46:35 +01:00
Stefan Müller
5495b32692
Added solution for "Day 23: A Long Walk", part 1
2023-12-25 00:44:13 +01:00
Stefan Müller
c3ecaf59fa
Added custom constructors for TCosmicExpansion and TStepCounter to simplify test case setup
2023-12-23 20:16:18 +01:00
Stefan Müller
2bb89c952b
Added solution for "Day 22: Sand Slabs", part 2
2023-12-23 20:08:10 +01:00
Stefan Müller
7b77846abc
Added solution for "Day 22: Sand Slabs", part 1
2023-12-23 01:30:41 +01:00
Stefan Müller
197e5f81b9
Removed left-over comments from TStepCounter
2023-12-22 15:15:56 +01:00
Stefan Müller
bc2568756b
Added solution for "Day 21: Step Counter", part 1
2023-12-21 21:11:31 +01:00
Stefan Müller
55f8f3d674
Added solution for "Day 20: Pulse Propagation", part 1
2023-12-21 16:14:00 +01:00
Stefan Müller
b2bfbf1993
Added solution for "Day 19: Aplenty", part 2
2023-12-20 19:25:21 +01:00
Stefan Müller
c3019613bd
Added solution for "Day 19: Aplenty", part 1
2023-12-20 11:41:17 +01:00
Stefan Müller
58da932860
Added empty skeleton implementations and tests for days 17, 18, and 19
2023-12-19 17:57:58 +01:00
Stefan Müller
01ec0be32c
Added solution for "Day 16: The Floor Will Be Lava", part 2
2023-12-19 17:26:18 +01:00
Stefan Müller
e9737f0265
Moved the constants in UFloorWillBeLava below the types so that they can be together in a single const block
2023-12-19 13:15:46 +01:00
Stefan Müller
58c677f409
Added solution for "Day 16: The Floor Will Be Lava", part 1
2023-12-19 13:11:39 +01:00
Stefan Müller
2902689d07
Removed day 14 debugging code
2023-12-18 21:14:35 +01:00
Stefan Müller
95de6f1f7b
Added another small performance improvement for day 14
2023-12-18 21:13:50 +01:00
Stefan Müller
29663ad82e
Merge branch 'day14-test'
2023-12-18 20:33:47 +01:00
Stefan Müller
515d39da40
Updated day 14 algorithm to not operate directly on the strings
2023-12-18 20:30:24 +01:00
Stefan Müller
d582eb4d52
Added solution for "Day 15: Lens Library", part 2
2023-12-17 23:11:44 +01:00
Stefan Müller
3501f6f574
Added solution for "Day 15: Lens Library", part 1
2023-12-15 18:21:37 +01:00
Stefan Müller
d8b298dad8
Updated day 14 solution with some small code improvements
2023-12-15 00:46:21 +01:00
Stefan Müller
22b9a24893
Added solution for "Day 14: Parabolic Reflector Dish", part 2
2023-12-14 21:23:07 +01:00
Stefan Müller
f9583e684d
Added solution for "Day 14: Parabolic Reflector Dish", part 1
2023-12-14 17:51:45 +01:00
Stefan Müller
01267c8f79
Refactored TPointOfIncidence to better unify the algorithm for both parts
2023-12-14 00:52:28 +01:00
Stefan Müller
307eb14b55
Added solution for "Day 13: Point of Incidence", part 2
2023-12-14 00:32:27 +01:00