Commit Graph

199 Commits

Author SHA1 Message Date
Stefan Müller 3008efc4ae Added tests for BinomialCoefficients global var 2024-11-20 00:05:44 +01:00
Stefan Müller f61abcb9c3 Merged solution for "Day 12: Hot Springs", part 2 2024-11-19 23:54:48 +01:00
Stefan Müller a55cae955a Fixed day 12 tests 2024-11-19 22:58:51 +01:00
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 3f7fb4a548 Added global BinomialCoefficients instance 2024-11-17 17:47:43 +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 21ef4c08f1 Added TBinomialCoefficientCache method documentation 2024-11-09 23:11:05 +01:00
Stefan Müller be0357befd Added binomial coefficient calculation 2024-11-09 17:59:56 +01:00
Stefan Müller 1d399cc5b6 Updated day 12 WIP solver 2024-11-09 00:42:11 +01:00
Stefan Müller fb2f813701 Added MultiIndexEnumerator 2024-11-09 00:41:49 +01:00
Stefan Müller 151b5dc49a Updated day 12 WIP solver 2024-10-15 11:45:44 +02:00
Stefan Müller 5ff8fafcb5 Fixed typos in readme 2024-09-25 19:44:09 +02:00
Stefan Müller 2517c4b8cf Added solution for "Day 21: Step Counter", part 2 2024-09-25 19:43:32 +02:00
Stefan Müller e7285e88b5 Added solution for "Day 23: A Long Walk", part 2 2024-09-22 23:54:45 +02:00
Stefan Müller b5576c66f1 Added TIntegerList and TPoints to common types 2024-08-28 22:54:34 +02:00
Stefan Müller 75aab50d42 Added solution for "Day 20: Pulse Propagation", part 2 2024-08-20 17:50:07 +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 c84d3e6a2d Updated favorites in readme 2024-07-03 20:42:40 +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 4cd9392bbc Added puzzle commentaries for days 17, 19, and 22 2024-06-26 21:25:49 +02:00
Stefan Müller c0a6145019 Added favorites in readme 2024-06-26 21:23:04 +02:00
Stefan Müller dfa6f6a09c Fixed more typos in the readme 2024-06-26 21:20:21 +02:00
Stefan Müller 00f90a1da9 Fixed nested if block in USandSlabs.pas 2024-06-26 21:16:02 +02:00
Stefan Müller 5441700572 Updated several of the solution infos in the readme 2024-06-26 09:36:56 +02:00
Stefan Müller 6d622d4c22 Added tests section in the readme 2024-06-26 09:34:05 +02:00
Stefan Müller 72ce40d84a Updated readme headings and links 2024-06-26 09:32:52 +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 0ccb047312 Fixed test project unit order 2024-06-17 14:01:53 +02:00
Stefan Müller 3e7943056a Added new alternative data path `..\..\data` 2024-06-17 14:01:23 +02:00
Stefan Müller f66e3fc2d8 Removed full data test cases
Providing full access to the solver code is the purpose of this project
repository. However, I think there should be some work in getting to
the actual solutions to not open the doors to abuse.
2024-06-17 14:00:22 +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 e81df9d558 Added test categories to all registered test cases 2024-06-10 20:24:05 +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 216839c98b Fixed copyright date 2024-06-03 20:52:42 +02:00
Stefan Müller 3c2acf05e8 Fixed project uses 2024-06-03 20:50:56 +02:00
Stefan Müller c2570fab3d Removed unused dividers factorization 2024-06-03 14:49:21 +02:00
Stefan Müller 33e7b64276 Added puzzle commentary for day 24 2024-05-27 03:10:14 +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 44caf3e21c Fixed comments 2024-05-26 19:58:13 +02:00