]> www.fi.muni.cz Git - aoc.git/blobdiff - 2018/15.pl
Year 2018
[aoc.git] / 2018 / 15.pl
diff --git a/2018/15.pl b/2018/15.pl
new file mode 100755 (executable)
index 0000000..c606505
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/perl -w
+
+use v5.30;
+use strict;
+
+my @tree = split /\s+/, <>;
+
+use List::Util qw(sum);
+
+my $metasum = 0;
+sub walk {
+       my $subnodes = shift @tree;
+       my $metadata = shift @tree;
+       say "walk $subnodes $metadata";
+       while ($subnodes--) {
+               walk();
+       }
+       while ($metadata--) {
+               $metasum += shift @tree;
+       }
+}
+walk();
+say $metasum;
+       
+