]> www.fi.muni.cz Git - aoc.git/blob - 2017/26.pl
AoC 2017 days 11 to 15
[aoc.git] / 2017 / 26.pl
1 #!/usr/bin/perl
2
3 use v5.30;
4 use strict;
5
6 use List::Util qw(max);
7
8 my %layers = map { /(\d+): (\d+)/ } <>;
9 my $max_l = max keys %layers;
10
11 my $delay = -1;
12 DELAY:
13 while (1) {
14         $delay++;
15         for my $pos (0 .. $max_l) {
16                 next if !defined $layers{$pos};
17                 next if ($pos+$delay) % (2 * $layers{$pos} - 2);
18                 next DELAY;
19         }
20         last;
21 }
22
23 say $delay;
24