]> www.fi.muni.cz Git - aoc2021.git/blobdiff - 17.pl
Day 9: special cases. not pretty.
[aoc2021.git] / 17.pl
diff --git a/17.pl b/17.pl
new file mode 100755 (executable)
index 0000000..e4d2707
--- /dev/null
+++ b/17.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl -w
+
+use v5.16;
+
+my @m = map { chomp; [ split // ]; } <>; 
+my $maxy = $#m;
+my $maxx = $#{$m[0]};
+say "$maxx x $maxy";
+
+my $sum;
+for my $y (0 .. $maxy) {
+       for my $x (0 .. $maxx) {
+               my $val = $m[$y][$x];
+               next if $y > 0     && $m[$y-1][$x] <= $val;
+               next if $y < $maxy && $m[$y+1][$x] <= $val;
+               next if $x > 0     && $m[$y][$x-1] <= $val;
+               next if $x < $maxx && $m[$y][$x+1] <= $val;
+               say "found at $x $y";
+               $sum += $val + 1;
+       }
+}
+
+say $sum;
+