This solution depends on a separate puzzle-utils library (GitHub). To use this everybody-codes solution:
-
Clone both repositories:
git clone https://github.com/tmbarker/puzzle-utils.git git clone https://github.com/tmbarker/everybody-codes.git
-
Ensure both repositories are in the same parent directory or update the project references accordingly.
-
First, configure your input cache directory in
appsettings.json:{ "InputCachePath": "<input cache directory path>" } -
Populate your input cache directory to have the following structure:
S01 ├── Q01 │ ├── p1.txt │ ├── p2.txt │ └── p3.txt ├── Q02 │ ├── p1.txt │ ├── p2.txt │ └── p3.txt Y2024 ├── Q01 │ ├── p1.txt │ ├── p2.txt │ └── p3.txt ├── Q02 │ ├── p1.txt │ ├── p2.txt │ └── p3.txt
In other words, the input cache directory should have a subdirectory for each story number (named
S<number>, padded to two digits), and each event year (namedY<year>).
Each story and year directory should contain a subdirectory for each quest, namedQ<quest>, padded to two digits. If you don't want to do this manually, there's a CLI command that will stub input files for you once you've completed step (1):cd EC dotnet run template <series> <quest>
-
Next, run the desired solution from your terminal:
cd EC dotnet run solve <series> <quest>
Note that
<series>is the event year (e.g.,2024) or story number (e.g.1), and<quest>is the quest number (e.g.,1).
To see a full listing of available commands run:
cd EC
dotnet run --help