- GCC 12 (older GCC compatible with C++20 should work with little adjustments on
Makefile
) - Make
For each day there is a folder Day<number of the day>
In each folder there is a Makefile
with the following targets:
p1
,p2
: build part one and part two with debug enabledp1_fast
,p2_fast
: build part one and part two with optimizationsp1_alt{_fast}
,p2_alt__fast_
: build an alternative part one/two (with optimization if_fast
)all
: buildsp1
andp2
togetheralt
: buildsp1_alt
andp1_alt
togetherfast
: buildsp1_fast
andp2_fast
togetheralt_fast
: buildsp1_alt_fast
andp2_alt_fast
together
./part[1,2]{_alt}.out input{.test}
Examples:
./part1.out input.test
Runs part one with test input./part1_alt.out input
Runs alternative part one with real input./part2.out input
Runs part two with real input
There is a utility library under Utils/
. It gets recycled every year, not the best stuff around, but I use it to process input file in a fast (and dirty) way.