- 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