Skip to content

Instantly share code, notes, and snippets.

View rhowe's full-sized avatar
💭
Just being

Russell Howe rhowe

💭
Just being
View GitHub Profile
@rhowe
rhowe / 16.sh
Created January 23, 2020 04:52
AOC2019day16part1
#!/bin/bash
set -eu
declare -ai input basepattern
read -r inputstr < "${1:?}"
for ((i=0; i < ${#inputstr}; i++)); do
input+=("${inputstr:$i:1}")
@rhowe
rhowe / 15-2.sh
Created January 19, 2020 13:45
AOC2019day15part2
#!/bin/bash -eu
declare -i width=80 height=50 x=40 y=20 nextx=40 nexty=19 input=1 dir=0 measuredist=0 maxdist=0
declare -a world distances
for ((i=0; i < width * height; i++)); do
world[i]=' '
distances[i]='.'
done
@rhowe
rhowe / 15.sg
Created January 2, 2020 00:36
AOC2019day15part1
#!/bin/bash -eu
declare -i width=80 height=50 x=40 y=20 nextx=40 nexty=19 input=1 dir=0
world=$(yes ' ' | tr -d \\n | head -c $((width * height)))
declare -ai program ram
declare -i addrmode1 addrmode2 arg1 arg2 pc=0 rb=0
IFS=, read -r -a program < "$1"
shift
@rhowe
rhowe / 25.sh
Created December 26, 2019 19:13
AOC2019day25part1
#!/bin/bash -eu
declare -ai program ram
declare -i addrmode1 addrmode2 arg1 arg2 pc=0 rb=0
IFS=, read -r -a program < "$1"
shift
inputs=("$@")
ram=("${program[@]}")
ops=(x '+' '*' x x '-eq' '-ne' '<' '==')
while : ; do
@rhowe
rhowe / 12.sh
Created December 24, 2019 16:43
AOCday12part2
#!/bin/bash
set -eu
posx=() posy=() posz=()
velx=() vely=() velz=()
declare -i periodx periody periodz
t=0
@rhowe
rhowe / 12.sh
Created December 21, 2019 07:59
AOC2019day12part1
#!/bin/bash
set -eu
posx=() posy=() posz=()
velx=() vely=() velz=()
t=0
mapfile -t input < "$1"
@rhowe
rhowe / 11.sh
Created December 17, 2019 20:48
AOC2019day11
#!/bin/bash -eu
getloc() {
case $1 in
0) echo "$2" ;;
1) echo "Can't get location of immediate value" >&2 && exit 1 ;;
2) echo "$((rb + $2))" ;;
esac
}
@rhowe
rhowe / 17.sh
Created December 17, 2019 07:38
AOC2019day17part1
#!/bin/bash -eu
getloc() {
case $1 in
0) echo "$2" ;;
1) echo "Can't get location of immediate value" >&2 && exit 1 ;;
2) echo "$((rb + $2))" ;;
esac
}
@rhowe
rhowe / 13.sh
Created December 16, 2019 23:02
AOC2019day13
#!/bin/bash -eu
getloc() {
case $1 in
0) echo "$2" ;;
1) echo "Can't get location of immediate value" >&2 && exit 1 ;;
2) echo "$((rb + $2))" ;;
esac
}
@rhowe
rhowe / AOC2019day14
Created December 16, 2019 11:24
14.sh
#!/bin/bash -eu
declare -A stockpile batchsizes recipes
startingore=1000000000000
stockpile[ORE]=$startingore
stockpile[FUEL]=0
batchsizes[ORE]=1
recipefile=$(dirname "$0")/recipes.sh