aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-126/james-smith/README.md16
-rw-r--r--challenge-126/james-smith/perl/ch-2.pl22
2 files changed, 31 insertions, 7 deletions
diff --git a/challenge-126/james-smith/README.md b/challenge-126/james-smith/README.md
index 6f2ffee2f8..9b9be88add 100644
--- a/challenge-126/james-smith/README.md
+++ b/challenge-126/james-smith/README.md
@@ -77,9 +77,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;
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;