Solutions for Advent of Code
Hard one, an infamous AoC puzzle according to Reddit. Apparently, this is a classic logic problem named "Missionaries and cannibals", or "Jealous husbands". Hard lessons: - Always use set() for visited nodes during BFS. - Always use collections.queue() to create to queue traversals for BFS. - itertools permutations(), combinations() and pairwise() may look similar, but they are not. - Learned to use (?:chunk of text)? in regex. Test data was achieved without bigger hazzles, but to optimize code required a lot of Reddit browsing and code reading from blogs. I have mentioned the sources in a doc string. |
||
|---|---|---|
| 2015-elixir | ||
| 2015-elixir-2 | ||
| 2015-python | ||
| 2016-python | ||
| 2016-python2 | ||
| 2017-python | ||
| 2018-elixir | ||
| 2018-python | ||
| 2019-elixir | ||
| 2020-elixir | ||
| 2020-python | ||
| 2021-elixir | ||
| 2021-python | ||
| 2022-elixir | ||
| 2023-python | ||
| leaderboard | ||
| .gitignore | ||
| fetch-calendar | ||
| fetch-input | ||
| README.md | ||
Advent of Code 2015–
Here all solved puzzles for Advent of Code are kept for reference. Most solutions are written in Python, but there are also solutions written in Elixir.
- Initial runs from 2016–2020 are squashed in version control, so the original thoughts/rants about the solution are forgotten for future generations.
- 2021 onwards, each solution will have a separate commit. This also includes revisiting old events.
Where are the puzzle input files?
For many years, this repository had all puzzle inputs under version control. They are not anymore, although the scripts asumed they are downloaded and stored locally in a subdirectory, which is ignored by version control.
The reasons:
- Neither you or me do have permission to reproduce or redistribute them, they are not released under public domain or MIT/BSD/GPL or any other license.
- The author behind advent of code have kindly asked us who attend Advent of Code to not release them, since publiced puzzle inputs cen be used to copy the site and steal the AoC creator's work.
Sources: