]> www.fi.muni.cz Git - aoc2021.git/blob - 08.pl
Day 25: pretty straightforward
[aoc2021.git] / 08.pl
1 #!/usr/bin/perl -w
2
3 use v5.16;
4
5 $/ = "\n\n";
6
7 my @drawn = split/[,\s]/, <>;
8 my @boards = <>;
9 my $remaining = @boards;
10
11 for my $d (@drawn) {
12         for my $board (@boards) {
13                 $board =~ s/\b$d\b/' ' x length $d/e;
14                 if ($board =~ / {14}/
15                         || $board =~ /\s{3}(?:.{12}\s{3}){4}/xms) {
16                         if (--$remaining) {
17                                 $board = 'x';
18                                 next;
19                         }
20                         $board =~ s/(?<=\d)\s+(?=\d)/+/gxms;
21                         say eval "$d*($board)";
22                         exit;
23                 }
24         }
25 }
26