aboutsummaryrefslogtreecommitdiff
path: root/2019/06/puzzle-1.awk
diff options
context:
space:
mode:
Diffstat (limited to '2019/06/puzzle-1.awk')
-rwxr-xr-x2019/06/puzzle-1.awk21
1 files changed, 21 insertions, 0 deletions
diff --git a/2019/06/puzzle-1.awk b/2019/06/puzzle-1.awk
new file mode 100755
index 0000000..e694b4d
--- /dev/null
+++ b/2019/06/puzzle-1.awk
@@ -0,0 +1,21 @@
+#!/usr/bin/awk -f
+
+function norbits(o)
+{
+ if (o in memo)
+ return memo[o]
+ return memo[o] = 1 + norbits(orbits[o])
+}
+
+BEGIN {
+ FS = ")"
+ memo["COM"] = 0
+}
+
+{ orbits[$2] = $1 }
+
+END {
+ for (o in orbits)
+ n += norbits(o)
+ print n
+} \ No newline at end of file