From 543c82574c111066691d8b05931214b5295f0f83 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Thu, 15 Dec 2022 18:06:53 -0500 Subject: Solve day 14 part 1 --- 2022/day14.awk | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 2022/day14.awk (limited to '2022') diff --git a/2022/day14.awk b/2022/day14.awk new file mode 100644 index 0000000..45bc5fe --- /dev/null +++ b/2022/day14.awk @@ -0,0 +1,44 @@ +BEGIN { + FS = "[ ,>-]+"; +} +{ + x = $1; + y = $2; + for (i = 3; i <= NF; i += 2) { + tx = $i; + ty = $(i+1); + while (x != tx) { + m[x,y] = "#"; + if (x < tx) x++; + if (x > tx) x--; + } + while (y != ty) { + m[x,y] = "#"; + if (y < ty) y++; + if (y > ty) y--; + } + m[x,y] = "#"; + if (y > ymax) ymax = y; + } +} +END { + x = 500; + y = 0; + while (y < ymax) { + if (!m[x,y+1]) { + y++; + } else if (!m[x-1,y+1]) { + x--; + y++; + } else if (!m[x+1,y+1]) { + x++; + y++; + } else { + m[x,y] = "o"; + sand++; + x = 500; + y = 0; + } + } + print sand; +} -- cgit 1.4.1 378de9dc649602'>refs log tree commit diff
path: root/.gitignore (unfollow)
Commit message (Collapse)Author
2021-09-25Install up to cgi-binJune McEnroe
2021-09-25Clean up up (ugh) somewhat againJune McEnroe
2021-09-25Update root path in up.shJune McEnroe
2021-09-25Disable HashKnownHostsJune McEnroe
All this really does is make fixing problems more difficult.
2021-09-25Add scout to ssh configJune McEnroe
2021-09-25Sandbox up on both FreeBSD and OpenBSDJune McEnroe
This is a bit messy. pledge(2) calls based on [1]. [1]: https://kristaps.bsd.lv/kcgi/tutorial6.html
2021-09-25Set SO_REUSEADDR in quickJune McEnroe
2021-09-25Revert "Add cat alias using less"June McEnroe
This reverts commit a64c3653d5df5e823fcdd07a540e240283816683. Yeah this really doesn't work on OpenBSD. I kind of got into the habit of explicitly running less anyway.
2021-09-24Pledge downgradeJune McEnroe
2021-09-24Set original socket CLOEXECJune McEnroe
2021-09-24Consume request headers using MSG_PEEKJune McEnroe
Use MSG_PEEK to determine where the request headers end and consume only up to there, leaving the CGI process to read any request body directly from the socket.
2021-09-24Set only HTTP_HOSTJune McEnroe
And only because kcgi expects it. This is what I wrote originally, because every HTTP_ variable should be unset between each request, but this doesn't track them.
2021-09-23Scroll by single lines in xtermJune McEnroe
2021-09-23Hide htop "function bar"June McEnroe
Useless thing...
2021-09-23Allow FocusEvents in xtermJune McEnroe
Oops! This whole time I thought OpenBSD xterm for some reason didn't support focus events. It turns out allowMouseOps: false disables them by default. Replace the disallowedMouseOps list with everything but.
2021-09-23Use NI_NUMERICSERVJune McEnroe
2021-09-23Make up build away from FreeBSDJune McEnroe
2021-09-23Add quickJune McEnroe
2021-09-23Add The HobbitJune McEnroe
Surprisingly good for something written by a man like a hundred years ago!
2021-09-22Remove PSF fontsJune McEnroe
They were fun to make but I never actually used them.
2021-09-22Remove Linux-specific utilitiesJune McEnroe
I haven't used these in ages.
2021-09-22Call sandbox in CGI modeJune McEnroe
Otherwise upload won't actually work.
2021-09-22Support HTTP PUT in upJune McEnroe
For use by Palaver[1]. Unfortunately, at least in the current App Store version of Palaver, this doesn't work correctly with basic auth. [1]: https://palaverapp.com/guides/commands/set.html#ui-image_service
2021-09-22Remove default faviconJune McEnroe
I hate these things and also this one sucks.
2021-09-21Use Z_FILTERED strategyJune McEnroe
2021-09-21Recalculate various lengths only as neededJune McEnroe
This actually speeds things up quite a bit, saving roughly a second on a big PNG screenshot. Almost all the remaining time is spent in deflate.
2021-09-21Rewrite pngo, add explicit optionsJune McEnroe
Interesting to see how my code habits have changed.
2021-09-16Fix /* **/ comment matchingJune McEnroe
2021-09-15Remove typer, add downgrade to READMEJune McEnroe
2021-09-15Set bot mode on downgradeJune McEnroe
2021-09-15Enter capsicum in downgradeJune McEnroe
2021-09-15Factor out common parts of downgrade messagesJune McEnroe
Also bump the message cap to 1024 because that is ostensibly useful for replying to older messages.
2021-09-14Add downgrade IRC botJune McEnroe
2021-09-14Sort by title if authors matchJune McEnroe
There are probably better things to sort by but title definitely always exists.
2021-09-13Swap-remove tags as they're foundJune McEnroe
This makes it even faster. From ~1s on a sqlite3.c amalgamation to ~0.85s.
2021-09-12Replace htagml regex with strncmpJune McEnroe
Since ctags only ever produces regular expressions of the form /^re$/ or /^re/ with no other special characters, instead unescape the pattern and simply use strncmp. Running on a sqlite3.c amalgamation, the regex version takes ~37s while the strncmp version takes ~1s, producing identical output. Big win!
2021-09-11Also defer printing comment for lone close-parensJune McEnroe
2021-09-10Publish "git-comment"June McEnroe
2021-09-10Add git comment --pretty optionJune McEnroe
2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe
This fixes badly indented comments.
2021-09-08Up default min-repeat to 30 linesJune McEnroe
2021-09-08Handle dirty lines in git-commentJune McEnroe
2021-09-08Document and install git-commentJune McEnroe
2021-09-08Add repeat and all options to git-commentJune McEnroe
2021-09-08Add group threshold to git-commentJune McEnroe