diff options
Diffstat (limited to '2015/02/puzzles.awk')
-rw-r--r-- | 2015/02/puzzles.awk | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/2015/02/puzzles.awk b/2015/02/puzzles.awk new file mode 100644 index 0000000..b7b35e1 --- /dev/null +++ b/2015/02/puzzles.awk @@ -0,0 +1,27 @@ +#!/usr/bin/awk -f + +function min(a, b, c) { + if (a <= b && a <= c) + return a + if (b <= a && b <= c) + return b + return c +} + +BEGIN { FS = "x" } +{ + # START PART 1 + x = $1 * $2 + y = $2 * $3 + z = $1 * $3 + + sum += (2 * x) + (2 * y) + (2 * z) + min(x, y, z) + # END PART 1 START PART 2 + x = $1 + $1 + $2 + $2 + y = $2 + $2 + $3 + $3 + z = $1 + $1 + $3 + $3 + + sum += $1 * $2 * $3 + min(x, y, z) + # END PART 2 +} +END { print sum } |