aboutsummaryrefslogtreecommitdiff
path: root/challenge-126/james-smith/perl
diff options
context:
space:
mode:
authorJames Smith <js5@sanger.ac.uk>2021-08-17 10:04:52 +0100
committerJames Smith <js5@sanger.ac.uk>2021-08-17 10:04:52 +0100
commit34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2 (patch)
tree0c202880c3d9b758ae4b7ebbd1b748cc288331c9 /challenge-126/james-smith/perl
parentfff0de07974a3aa8b32d78d3251567274027999d (diff)
downloadperlweeklychallenge-club-34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2.tar.gz
perlweeklychallenge-club-34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2.tar.bz2
perlweeklychallenge-club-34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2.zip
Tidied
Diffstat (limited to 'challenge-126/james-smith/perl')
-rw-r--r--challenge-126/james-smith/perl/ch-2.pl22
1 files changed, 18 insertions, 4 deletions
diff --git a/challenge-126/james-smith/perl/ch-2.pl b/challenge-126/james-smith/perl/ch-2.pl
index 195a1fbc6a..cf7701467d 100644
--- a/challenge-126/james-smith/perl/ch-2.pl
+++ b/challenge-126/james-smith/perl/ch-2.pl
@@ -8,7 +8,11 @@ use Test::More;
use Benchmark qw(cmpthese timethis);
use Data::Dumper qw(Dumper);
-my @grid = qw(x***x*xxxx *********x ****x*x*x* ***xx***** x***x****x);
+my @grid = qw(x***x*xxxx
+ *********x
+ ****x*x*x*
+ ***xx*****
+ x***x****x);
say join "\n",'',@grid,'';
say solve(@grid);
@@ -22,9 +26,19 @@ sub solve {
foreach my $y ( 0 .. $h ) {
push @res, join '', map {
$g[$y][$_] ? 'x' :
- ( $y ? ( $_ ? $g[$y-1][$_-1] : 0 ) + $g[$y-1][$_] + ( $_<$w ? $g[$y-1][$_+1] : 0 ) : 0 ) +
- ( $_ ? $g[$y ][$_-1] : 0 ) + $g[$y ][$_] + ( $_<$w ? $g[$y ][$_+1] : 0 ) +
- ( $y<$h ? ( $_ ? $g[$y+1][$_-1] : 0 ) + $g[$y+1][$_] + ( $_<$w ? $g[$y+1][$_+1] : 0 ) : 0 )
+ ( $y ? ( $_ ? $g[$y-1][$_-1] : 0 ) +
+ $g[$y-1][$_ ] +
+ ( $_<$w ? $g[$y-1][$_+1] : 0 )
+ : 0 ) +
+
+ ( $_ ? $g[$y ][$_-1] : 0 ) +
+ $g[$y ][$_ ] +
+ ( $_<$w ? $g[$y ][$_+1] : 0 ) +
+
+ ( $y<$h ? ( $_ ? $g[$y+1][$_-1] : 0 ) +
+ $g[$y+1][$_ ] +
+ ( $_<$w ? $g[$y+1][$_+1] : 0 )
+ : 0 )
} 0 .. $w;
}
return join "\n", @res;