diff options
author | June McEnroe <june@causal.agency> | 2022-12-15 20:43:17 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2022-12-15 20:43:17 -0500 |
commit | 5c556d3bce74556e7f9ddc57170cc989d35b045a (patch) | |
tree | 2db2af6c153891f53c381b14a1ed9325acc32fc2 | |
parent | Solve day 14 part 2 (diff) | |
download | aoc-5c556d3bce74556e7f9ddc57170cc989d35b045a.tar.gz aoc-5c556d3bce74556e7f9ddc57170cc989d35b045a.zip |
Solve day 15 part 1
-rw-r--r-- | 2022/day15.awk | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/2022/day15.awk b/2022/day15.awk new file mode 100644 index 0000000..0840487 --- /dev/null +++ b/2022/day15.awk @@ -0,0 +1,26 @@ +BEGIN { + FS = "[ =,:]+"; + y = 2000000; +} +function abs(x) { + return (x < 0 ? -x : x); +} +function dist(x1, y1, x2, y2) { + return abs(x1 - x2) + abs(y1 - y2); +} +{ + if ($14 == y) B[$12] = 1; + r = dist($4, $6, $12, $14); + if (abs(y - $6) <= r) { + n = r - abs(y - $6); + for (x = $4-n; x <= $4+n; ++x) { + Y[x] = 1; + } + } +} +END { + for (x in B) { + delete Y[x]; + } + print length(Y); +} |