advent-of-code/2016-python2
Anders Englöf Ytterström ae942ce803 Solve 2016:18 p1-2 "Like a Rogue"
Figured out that the center position did not matter,
as long as left hand side tile and right hand side
tile on previous row are not equal.

Also tried to find a recurring pattern to speed
p2 up a bit, but it seems it does not have a
recurring pattern in the 400 000s first rows.
2024-12-12 13:53:43 +01:00
..
output Solve 2016:18 p1-2 "Like a Rogue" 2024-12-12 13:53:43 +01:00
aoc.py Improve aoc helper script 2024-12-12 13:53:43 +01:00
README.md Solve 2016:13 p1-2 "A Maze of Twisty Little Cubicles" 2024-12-12 13:53:43 +01:00

Advent of Code 2016

Solutions for #aoc2016 in Python 3 (3.12.7).

Setup

Since I want to remember, this is what was used to solve the puzzles.

  • Lenovo Thinkpad x260 laptop with Arch Linux.
  • Hyprland with gBar.
  • Editor: Zed.
  • Terminal: Alacritty.

Help scripts

Display all solved puzzles:

python aoc.py

To bootstrap a new puzzle (creates input/<day_no>.txt and output/day_<day_no>.py):

python aoc.py <day_no> <puzzle_name>

Manually copy the puzzle input from https://adventofcode.com and paste it in input/<day_no>.txt to start coding.

wl-paste > input/<day_no>.txt

Solve separate puzzle (replace XX with the puzzle number):

python -m output.day_XX

Solve separate puzzle using stdin (replace XX with the puzzle number):

wl-paste | python -m output.day_XX
cat tmpfile | python -m output.day_XX

Execute separate puzzle on file save (replace XX with the puzzle number):

ls output/*.py | entr -c -s 'wlpaste | python -m output.day_XX'
ls output/*.py | entr -c -s 'cat tmpfile | python -m output.day_XX'
ls output/*.py | entr -c -r python -m output.day_XX

(requires entr and wl-paste, Mac users can instead use pbpaste. If you prefer X at Linux, use xclip -selection clipboard -o).

To lint files:

ls output/*.py | entr -r -c flake8 output --ignore=E741,E501,E203