From b14bb05c4d0b8fb97d5e644c014b25828b851a5d Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Mon, 12 Dec 2022 11:50:34 -0500 Subject: Solve day 12 part 2 --- 2022/day12.awk | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/2022/day12.awk b/2022/day12.awk index 265fad6..314ce87 100644 --- a/2022/day12.awk +++ b/2022/day12.awk @@ -55,4 +55,40 @@ END { delete N[i]; } print N[i]; + delete Q; + delete N; + delete V; + l = 1; + Q[l] = E; + N[l] = 0; + for (i = 1; Q[i]; ++i) { + split(Q[i], a, ","); + x = a[1]; + y = a[2]; + n = N[i]; + if (m[x,y] == 1) break; + if (x > 1 && !V[x-1,y] && m[x-1,y] >= m[x,y]-1) { + V[x-1,y] = 1; + Q[++l] = x-1 "," y; + N[l] = n+1; + } + if (x < w && !V[x+1,y] && m[x+1,y] >= m[x,y]-1) { + V[x+1,y] = 1; + Q[++l] = x+1 "," y; + N[l] = n+1; + } + if (y > 1 && !V[x,y-1] && m[x,y-1] >= m[x,y]-1) { + V[x,y-1] = 1; + Q[++l] = x "," y-1; + N[l] = n+1; + } + if (y < h && !V[x,y+1] && m[x,y+1] >= m[x,y]-1) { + V[x,y+1] = 1; + Q[++l] = x "," y+1; + N[l] = n+1; + } + delete Q[i]; + delete N[i]; + } + print N[i]; } -- cgit 1.4.1 right'>
about summary refs log tree commit diff
path: root/ui.c (unfollow)
Commit message (Collapse)Author
2020-02-13Refactor windows into array and add /moveJune McEnroe
Oof.
2020-02-13Clean up manual lintsJune McEnroe
Wish I could use mandoc -T lint as part of the dev target but it complains about missing referenced pages without a way to turn that off that I can find.
2020-02-13Add -g for generating certificatesJune McEnroe
Copied from pounce.
2020-02-13Explicitly close the TLS connectionJune McEnroe
Just to be nice.
2020-02-12Add sandman wrapperJune McEnroe
2020-02-12Document scripts in READMEJune McEnroe
2020-02-12Add -N flag for notificationsJune McEnroe
2020-02-12Mark and unmark on uiHide, uiShowJune McEnroe
2020-02-12Hide debug prompt if buffer starts with /June McEnroe
2020-02-12Only exit on errorneous nick during registrationJune McEnroe
2020-02-12Add 378 to list of WHOIS responsesJune McEnroe
It's the one (from freenode anyway) that tells you where you're connecting from.
2020-02-13Implement source address selectionmultiplexd
This commit adds a '-S' command line option and a "bind" configuration file option to specify the source address to bind to when connecting to the IRC server.
2020-02-12Add /listJune McEnroe
2020-02-12Simplify transpose swapJune McEnroe
2020-02-12Add C-t transposeJune McEnroe
Also in emacs, weechat.
2020-02-12Add C-v and M-vJune McEnroe
I figure there should be some way to scroll without keypad, and apparently this is what emacs offers...
2020-02-12Allow for arguments to open/copy utilitiesJune McEnroe
2020-02-12Handle RPL_AWAYJune McEnroe
2020-02-11Support monochromatic terminalsJune McEnroe
Oops, division by zero!
2020-02-11Add .gz to chroot-man scriptJune McEnroe
2020-02-11Add -R restricted flagJune McEnroe
2020-02-11Add chroot targetJune McEnroe
2020-02-11Exit focus and paste modes on err exitJune McEnroe
2020-02-11Add startup GPLv3 note and URLJune McEnroe
I am a degenerate.
2020-02-11Make sure -D_GNU_SOURCE ends up in CFLAGS on LinuxJune McEnroe
2020-02-11Add note about setting PKG_CONFIG_PATHJune McEnroe
2020-02-11Rename query ID on nick changeJune McEnroe
2020-02-11Call completeClear when closing a windowJune McEnroe
2020-02-11Don't insert color codes for non-mentionsJune McEnroe
2020-02-11Take first two words in colorMentionsJune McEnroe
This lets phrases like "hi june" get colored, but still doesn't get carried away.
2020-02-11Use time_t for save signatureJune McEnroe
It's actually more likely to be 64-bit than size_t anyway, and it eliminates some helper functions. Also don't error when reading an empty save file.
2020-02-11Set self.nick to * initiallyJune McEnroe
Allows removing a bunch of checks that self.nick is set, and it's what the server usually calls you before registration. Never highlight notices as mentions.
2020-02-11Define ColorCap instead of hardcoding 100June McEnroe
2020-02-11Move hash to top of chat.hJune McEnroe
2020-02-11Move base64 out of chat.hJune McEnroe
2020-02-11Move XDG_SUBDIR out of chat.hJune McEnroe
2020-02-11Fix whois idle unit calculationJune McEnroe
Rookie mistake.
2020-02-11Cast towupper to wchar_tJune McEnroe
For some reason it takes and returns wint_t...
2020-02-11Cast set but unused variables to voidJune McEnroe
2020-02-11Declare strlcatJune McEnroe
2020-02-11Check if VDSUSP existsJune McEnroe
2020-02-11Fix completeReplace iterationJune McEnroe
2020-02-11Use pkg(8) to configure on FreeBSDJune McEnroe
2020-02-11Remove legacy codeJune McEnroe
2020-02-11Add INSTALLING section to READMEJune McEnroe