summary refs log tree commit diff homepage
path: root/2022
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2022-12-15 18:11:24 -0500
committerJune McEnroe <june@causal.agency>2022-12-15 18:11:24 -0500
commit810e19e4789f532278f419784e5ebc2e319b62ca (patch)
tree26843ed0c610080a950c6642fbb52c0f240c05f0 /2022
parentSolve day 14 part 1 (diff)
downloadaoc-810e19e4789f532278f419784e5ebc2e319b62ca.tar.gz
aoc-810e19e4789f532278f419784e5ebc2e319b62ca.zip
Solve day 14 part 2
Diffstat (limited to '2022')
-rw-r--r--2022/day14.awk21
1 files changed, 21 insertions, 0 deletions
diff --git a/2022/day14.awk b/2022/day14.awk
index 45bc5fe..7cf90ad 100644
--- a/2022/day14.awk
+++ b/2022/day14.awk
@@ -41,4 +41,25 @@ END {
 		}
 	}
 	print sand;
+	for (xy in m) {
+		if (m[xy] == "o") delete m[xy];
+	}
+	sand = 0;
+	while (!m[500,0]) {
+		if (!m[x,y+1] && y+1 != ymax+2) {
+			y++;
+		} else if (!m[x-1,y+1] && y+1 != ymax+2) {
+			x--;
+			y++;
+		} else if (!m[x+1,y+1] && y+1 != ymax+2) {
+			x++;
+			y++;
+		} else {
+			m[x,y] = "o";
+			sand++;
+			x = 500;
+			y = 0;
+		}
+	}
+	print sand;
 }
cEnroe 2022-02-23Add missing unistd.h include in input.cJune McEnroe 2022-02-22Document the interfaceJune McEnroe 2022-02-20Clean up unimplemented editing mode stuffJune McEnroe 2022-02-20Save input buffer contentsJune McEnroe 2022-02-20Share a cut buffer between all edit buffersJune McEnroe 2022-02-20Assert return values in edit testsJune McEnroe 2022-02-20Move mbs out of struct Edit, use a global bufferJune McEnroe 2022-02-20Clear edit buffer before running commandJune McEnroe 2022-02-20Show indicator in status when window has pending inputJune McEnroe 2022-02-20Use separate edit buffers for each IDJune McEnroe 2022-02-20Make sure new cap is actually larger than new lengthJune McEnroe 2022-02-20Remove unused mbs.len field from struct EditJune McEnroe 2022-02-19Remove unneeded includes in ui.cJune McEnroe 2022-02-19Reimplement tab completeJune McEnroe 2022-02-19Handle errors from editFn, etc.June McEnroe 2022-02-19Reimplement text macrosJune McEnroe 2022-02-19Factor out input handling to input.cJune McEnroe 2022-02-19Factor out window management to window.cJune McEnroe 2022-02-19Enable -Wmissing-prototypesJune McEnroe 2022-02-19Fix edit.[ch] license notice additional permissionsJune McEnroe 2022-02-19Run line editing testsJune McEnroe 2022-02-18Implement new line editing "library"June McEnroe 2022-02-18Simplify cursor positioning in inputJune McEnroe 2022-02-18Fix M-f orderingJune McEnroe 2022-02-12Move sandman build to scripts/MakefileJune McEnroe 2022-02-12Use compat_readpassphrase.c on LinuxJune McEnroe 2022-02-12Copy RPP defines from oconfigureJune McEnroe