- write as little code as possible
- while maintaining readability
- try maximizing performance
- no dependencies, just a PHP8 environment
Each day's solution resides in a numbered directory containing a text file input.txt as input data and solve.php for processing.
Run using php-cli, e.g.:
php 01/solve.php
To profile execution time and memory usage, use (for day 1 for example):
php profile.php 1
For the following days you can generate SVGs (output_1.svg resp. output_2.svg in the day's folder). Just include visualize.php and uncomment the createSVG() calls.
- Day 8: overall tree map (darker = higher), best tree hilighted in part 2
- Day 9: trails of tails color coded from red (beginning) to blue (end)
- Day 12: height map with the found path
- Day 14: the rock structure and sand piles