From f3e3e3e354b87f4ce27bd74bf14cec05d06974b6 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 30 Nov 2022 12:23:17 +0100 Subject: Lots of cleanup and stuff --- 2015/06/puzzle-1.awk | 16 +++++++++++----- 2015/06/puzzle-2.awk | 17 +++++++++++------ 2 files changed, 22 insertions(+), 11 deletions(-) (limited to '2015/06') diff --git a/2015/06/puzzle-1.awk b/2015/06/puzzle-1.awk index 97165cf..95034d4 100755 --- a/2015/06/puzzle-1.awk +++ b/2015/06/puzzle-1.awk @@ -1,7 +1,6 @@ -#!/usr/bin/env -S awk -f +#!/usr/bin/awk -f -function setlights(val, toggle) -{ +function setlights(val, toggle) { for (i = from[1]; i <= to[1]; i++) { for (j = from[2]; j <= to[2]; j++) lights[i][j] = toggle ? (lights[i][j] ? 0 : 1) : val @@ -9,7 +8,14 @@ function setlights(val, toggle) } $1 == "toggle" { split($2, from, ","); split($4, to, ","); setlights(0, 1) } -$2 ~ /on|off/ { split($3, from, ","); split($5, to, ",") } +$2 ~ /on|off/ { split($3, from, ","); split($5, to, ",") } $2 == "on" { setlights(1, 0) } $2 == "off" { setlights(0, 0) } -END { for (i = 0; i <= 999; i++) for (j = 0; j <= 999; j++) count += lights[i][j]; print count } + +END { + for (i = 0; i <= 999; i++) { + for (j = 0; j <= 999; j++) + count += lights[i][j] + } + print count +} diff --git a/2015/06/puzzle-2.awk b/2015/06/puzzle-2.awk index 97ae1f8..9774521 100755 --- a/2015/06/puzzle-2.awk +++ b/2015/06/puzzle-2.awk @@ -1,7 +1,6 @@ -#!/usr/bin/env -S awk -f +#!/usr/bin/awk -f -function setlights(val) -{ +function setlights(val) { for (i = from[1]; i <= to[1]; i++) { for (j = from[2]; j <= to[2]; j++) { if (!(val == -1 && lights[i][j] == 0)) @@ -11,7 +10,13 @@ function setlights(val) } $1 == "toggle" { split($2, from, ","); split($4, to, ","); setlights(2) } -$2 ~ /on|off/ { split($3, from, ","); split($5, to, ",") } -$2 == "on" { setlights(1) } +$2 ~ /on|off/ { split($3, from, ","); split($5, to, ",") } +$2 == "on" { setlights(+1) } $2 == "off" { setlights(-1) } -END { for (i = 0; i <= 999; i++) for (j = 0; j <= 999; j++) count += lights[i][j]; print count } +END { + for (i = 0; i <= 999; i++) { + for (j = 0; j <= 999; j++) + count += lights[i][j] + } + print count +} -- cgit v1.2.3