]> www.fi.muni.cz Git - aoc.git/blob - 2022/15.pl
Day 8: dummy solution with off-by-one errors
[aoc.git] / 2022 / 15.pl
1 #!/usr/bin/perl -w
2
3 use v5.36;
4 use strict;
5 use experimental 'multidimensional';
6
7 my @m = map { chomp; [ split // ] } <>;
8 my $xmax = @{ $m[0] };
9 my $ymax = @m;
10
11 my $count;
12 for my $x (1 .. $xmax-2) {
13 for my $y (1 .. $ymax-2) {
14         my $h = $m[$y][$x];
15         say $h;
16         my $visible = 1;
17         for my $dx (0 .. $x-1) {
18                 $visible = 0 if $m[$y][$dx] >= $h;
19         }
20         if ($visible) {
21                 $count++; next;
22         }
23         $visible = 1;
24         say " $visible";
25         for my $dx ($x+1 .. $xmax-1) {
26                 $visible = 0 if $m[$y][$dx] >= $h;
27         }
28         if ($visible) {
29                 $count++; next;
30         }
31         $visible = 1;
32         say " $visible";
33         for my $dy (0 .. $y-1) {
34                 $visible = 0 if $m[$dy][$x] >= $h;
35         }
36         if ($visible) {
37                 $count++; next;
38         }
39         $visible = 1;
40         say " $visible";
41         for my $dy ($y+1 .. $ymax-1) {
42                 $visible = 0 if $m[$dy][$x] >= $h;
43         }
44         if ($visible) {
45                 $count++; next;
46         }
47         $count++ if $visible;
48 } }
49
50 say $count + 2* $xmax + 2*$ymax-4;