diff options
author | Thomas Voss <thomasvoss@live.com> | 2021-10-29 23:02:39 +0200 |
---|---|---|
committer | Thomas Voss <thomasvoss@live.com> | 2021-10-29 23:02:39 +0200 |
commit | e7c9108b95e39d7ea5a29ae06d619c4727f11027 (patch) | |
tree | 237261eef3afd0720be77dbcbb9599fa66a24b67 /2020/03/puzzle-2.awk |
Initial commit
Diffstat (limited to '2020/03/puzzle-2.awk')
-rwxr-xr-x | 2020/03/puzzle-2.awk | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/2020/03/puzzle-2.awk b/2020/03/puzzle-2.awk new file mode 100755 index 0000000..88e0625 --- /dev/null +++ b/2020/03/puzzle-2.awk @@ -0,0 +1,36 @@ +#!/usr/bin/env -S awk -f + +BEGIN { + slope[1] = 1 + slope[2] = 1 + slope[3] = 1 + slope[4] = 1 + slope[5] = 1 +} + +{ + len = split($0, obs, "") + + right = 1 + for (i = 1; i < 5; i++) { + if (slope[i] > len) + slope[i] -= len + + if (obs[slope[i]] == "#") + count[i]++ + + slope[i] += right + right += 2 + } + + # Specific code for slope 5 + if (NR % 2 == 1) { + if (slope[5] > len) + slope[5] -= len + + if (obs[slope[5]++] == "#") + count[5]++ + } +} + +END { print count[1] * count[2] * count[3] * count[4] * count[5] } |