diff options
Diffstat (limited to '2025/01/puzzle-2.awk')
| -rwxr-xr-x | 2025/01/puzzle-2.awk | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/2025/01/puzzle-2.awk b/2025/01/puzzle-2.awk new file mode 100755 index 0000000..b0516bf --- /dev/null +++ b/2025/01/puzzle-2.awk @@ -0,0 +1,23 @@ +#!/usr/bin/awk -f + +function mod(n, m) +{ + return ((n % m) + m) % m +} + +BEGIN { dial = 50 } + +{ n = substr($0, 2) } + +/^L/ { + sign = -1 + acc += int(n / 100) + (n%100 >= dial && dial != 0) +} +/^R/ { + sign = +1 + acc += int((dial + n) / 100) +} + +{ dial = mod(dial + n*sign, 100) } + +END { print acc } |