]> www.fi.muni.cz Git - aoc2021.git/blob - 09.pl
Day 25: pretty straightforward
[aoc2021.git] / 09.pl
1 #!/usr/bin/perl -w
2
3 use v5.16;
4
5 my $p;
6 my $count;
7 while (<>) {
8         my ($x1, $y1, $x2, $y2) = /(\d+),(\d+) -> (\d+),(\d+)/;
9         next if $x1 != $x2 && $y1 != $y2;
10         if ($x1 != $x2) {
11                 if ($x1 > $x2) {
12                         ($x1, $x2) = ($x2, $x1);
13                 }
14                 for my $x ($x1 .. $x2) {
15                         $count++ if ++$p->{$x}->{$y1} == 2;
16                 }
17         } else {
18                 if ($y1 > $y2) {
19                         ($y1, $y2) = ($y2, $y1);
20                 }
21                 for my $y ($y1 .. $y2) {
22                         $count++ if ++$p->{$x1}->{$y} == 2;
23                 }
24         }
25 }
26
27 say $count;
28