9 my @image = map { chomp; [ split // ] } <>;
15 my $xmax = @{ $img->[0] };
17 say "odd=$odd, m0=$m[0]";
20 for my $y (0 .. $ymax+3) {
21 for my $x (0 .. $xmax+3) {
23 for my $dy (-2 .. 0) {
25 for my $dx (-2 .. 0) {
27 # say "$x,$y + $dx,$dy = $x2, $y2";
29 if ($y2 >= 0 && $y2 < $ymax
30 && $x2 >= 0 && $x2 < $xmax) {
31 $idx++ if $img->[$y2][$x2] eq '#';
33 $idx++ if !$odd && ($m[0] eq '#');
37 # say "$x,$y => $idx => $m[$idx]";
38 $rv[$y][$x] = $m[$idx];
50 my $xmax = @{ $img->[0] };
55 for my $y (0 .. $ymax-1) {
56 for my $x (0 .. $xmax-1) {
58 $sum++ if $img->[$y][$x] eq '#';
67 @image = enhance(\@image);
71 for my $row (@image) {
72 for my $pixel (@$row) {
73 $sum++ if $pixel eq '#';