diff options
| author | James Smith <js5@sanger.ac.uk> | 2021-08-17 10:04:52 +0100 |
|---|---|---|
| committer | James Smith <js5@sanger.ac.uk> | 2021-08-17 10:04:52 +0100 |
| commit | 34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2 (patch) | |
| tree | 0c202880c3d9b758ae4b7ebbd1b748cc288331c9 /challenge-126 | |
| parent | fff0de07974a3aa8b32d78d3251567274027999d (diff) | |
| download | perlweeklychallenge-club-34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2.tar.gz perlweeklychallenge-club-34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2.tar.bz2 perlweeklychallenge-club-34948e6c12ce05d8f27f28f9dff20e4cf1a97dd2.zip | |
Tidied
Diffstat (limited to 'challenge-126')
| -rw-r--r-- | challenge-126/james-smith/README.md | 16 | ||||
| -rw-r--r-- | challenge-126/james-smith/perl/ch-2.pl | 22 |
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; |
