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