From 34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2 Mon Sep 17 00:00:00 2001 From: James Smith Date: Tue, 17 Aug 2021 10:04:52 +0100 Subject: Tidied --- challenge-126/james-smith/README.md | 16 +++++++++++++--- challenge-126/james-smith/perl/ch-2.pl | 22 ++++++++++++++++++---- 2 files changed, 31 insertions(+), 7 deletions(-) (limited to 'challenge-126') 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; -- cgit