]> www.fi.muni.cz Git - aoc.git/blobdiff - 2017/26.pl
AoC 2017 days 11 to 15
[aoc.git] / 2017 / 26.pl
diff --git a/2017/26.pl b/2017/26.pl
new file mode 100755 (executable)
index 0000000..d3b6957
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+use v5.30;
+use strict;
+
+use List::Util qw(max);
+
+my %layers = map { /(\d+): (\d+)/ } <>;
+my $max_l = max keys %layers;
+
+my $delay = -1;
+DELAY:
+while (1) {
+       $delay++;
+       for my $pos (0 .. $max_l) {
+               next if !defined $layers{$pos};
+               next if ($pos+$delay) % (2 * $layers{$pos} - 2);
+               next DELAY;
+       }
+       last;
+}
+
+say $delay;
+