From 42e03dfbde7ec58c4d16cc671c3c2271b8d6d4c6 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 18 Dec 2024 21:59:32 +0100 Subject: Add 2019 day 6 solutions --- 2019/06/puzzle-2.awk | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 2019/06/puzzle-2.awk (limited to '2019/06/puzzle-2.awk') diff --git a/2019/06/puzzle-2.awk b/2019/06/puzzle-2.awk new file mode 100755 index 0000000..3d0e42c --- /dev/null +++ b/2019/06/puzzle-2.awk @@ -0,0 +1,32 @@ +#!/usr/bin/awk -f + +function trace_to_com(xs, o) +{ + if (o == "COM") + return + o = orbits[o] + xs[length(xs) + 1] = o + trace_to_com(xs, o) +} + +BEGIN { FS = ")" } + +{ orbits[$2] = $1 } + +END { + # Declare ‘xs’ and ‘ys’ as arrays + xs[0]; delete xs + ys[0]; delete ys + + trace_to_com(xs, "YOU") + trace_to_com(ys, "SAN") + + for (i = 1; i <= length(xs); i++) { + for (j = 1; j <= length(ys); j++) { + if (xs[i] == ys[j]) { + print i + j - 2 + exit + } + } + } +} \ No newline at end of file -- cgit v1.2.3