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 /2015/03/puzzle-2.awk |
Initial commit
Diffstat (limited to '2015/03/puzzle-2.awk')
-rw-r--r-- | 2015/03/puzzle-2.awk | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/2015/03/puzzle-2.awk b/2015/03/puzzle-2.awk new file mode 100644 index 0000000..0857009 --- /dev/null +++ b/2015/03/puzzle-2.awk @@ -0,0 +1,11 @@ +BEGIN { sx = sy = rx = ry = 1; homes[sx][sy] = 1; acc = 1 } + { santa = santa ? 0 : 1 } +santa == 0 && $0 == "^" { if (!homes[rx][++ry]++) acc++; next } +santa == 0 && $0 == ">" { if (!homes[++rx][ry]++) acc++; next } +santa == 0 && $0 == "v" { if (!homes[rx][--ry]++) acc++; next } +santa == 0 && $0 == "<" { if (!homes[--rx][ry]++) acc++; next } +santa == 1 && $0 == "^" { if (!homes[sx][++sy]++) acc++; next } +santa == 1 && $0 == ">" { if (!homes[++sx][sy]++) acc++; next } +santa == 1 && $0 == "v" { if (!homes[sx][--sy]++) acc++; next } +santa == 1 && $0 == "<" { if (!homes[--sx][sy]++) acc++; next } +END { print acc } |