diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-12-18 13:08:47 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-18 13:08:47 +0000 |
| commit | efdf320321f734def5899556d23c4b85c3a28ec0 (patch) | |
| tree | 75a776211e3be4c2a9eaadcf2a3de1b1fc552fac | |
| parent | 6b464fb34439fe2d4a8b5bd7595ad0bbf5d1e22c (diff) | |
| parent | dc1854fdace1827f16f2d3dde1e403de2003ef38 (diff) | |
| download | perlweeklychallenge-club-efdf320321f734def5899556d23c4b85c3a28ec0.tar.gz perlweeklychallenge-club-efdf320321f734def5899556d23c4b85c3a28ec0.tar.bz2 perlweeklychallenge-club-efdf320321f734def5899556d23c4b85c3a28ec0.zip | |
Merge pull request #9256 from wlmb/challenges
Solve PWC248
| -rw-r--r-- | challenge-248/wlmb/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-248/wlmb/perl/ch-1.pl | 15 | ||||
| -rwxr-xr-x | challenge-248/wlmb/perl/ch-2.pl | 16 |
3 files changed, 32 insertions, 0 deletions
diff --git a/challenge-248/wlmb/blog.txt b/challenge-248/wlmb/blog.txt new file mode 100644 index 0000000000..2638288046 --- /dev/null +++ b/challenge-248/wlmb/blog.txt @@ -0,0 +1 @@ +https://wlmb.github.io/2023/12/17/PWC248/ diff --git a/challenge-248/wlmb/perl/ch-1.pl b/challenge-248/wlmb/perl/ch-1.pl new file mode 100755 index 0000000000..14c9ab3c0e --- /dev/null +++ b/challenge-248/wlmb/perl/ch-1.pl @@ -0,0 +1,15 @@ +#!/usr/bin/env perl +# Perl weekly challenge 248 +# Task 1: Shortest Distance +# +# See https://wlmb.github.io/2023/12/17/PWC248/#task-1-shortest-distance +use v5.36; +use PDL; +die <<~"FIN" unless @ARGV==2; + Usage: $0 string letter + to obtain the shortest distances. + FIN +my @letters=split "", $ARGV[0]; +my $i=pdl(grep {$letters[$_] eq $ARGV[1]} 0..@letters-1); +my $j=sequence(0+@letters); +say "@ARGV; $ARGV[1] -> ", ($i->dummy(1)-$j->dummy(0))->abs->minover; diff --git a/challenge-248/wlmb/perl/ch-2.pl b/challenge-248/wlmb/perl/ch-2.pl new file mode 100755 index 0000000000..7d9022d2fd --- /dev/null +++ b/challenge-248/wlmb/perl/ch-2.pl @@ -0,0 +1,16 @@ +#!/usr/bin/env perl +# Perl weekly challenge 248 +# Task 2: Submatrix Sum +# +# See https://wlmb.github.io/2023/12/17/PWC248/#task-2-submatrix-sum +use v5.36; +use PDL; +use PDL::NiceSlice; +die <<~"FIN" unless @ARGV==1; + Usage: $0 M + to sum 2x2 the overlapped submatrices of matrix M + FIN +my $m=pdl(shift); +my $n=pdl($m(0:-2,0:-2),$m(1:-1,0:-2),$m(0:-2,1:-1),$m(1:-1,1:-1)) + ->mv(-1,0)->sumover; +say "$m->$n" |
