diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-11-18 18:58:23 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-18 18:58:23 +0000 |
| commit | 4f9d9def02ffccd08461dedd24f0ede40c8611df (patch) | |
| tree | b8184f2d0488b750fb15df2087a63c7ec0a8aec1 /challenge-086 | |
| parent | 35b93435dda8a500d81879990c55552b9cf7c5cb (diff) | |
| parent | baadeac3908d309acdc95cae65176602acadce4e (diff) | |
| download | perlweeklychallenge-club-4f9d9def02ffccd08461dedd24f0ede40c8611df.tar.gz perlweeklychallenge-club-4f9d9def02ffccd08461dedd24f0ede40c8611df.tar.bz2 perlweeklychallenge-club-4f9d9def02ffccd08461dedd24f0ede40c8611df.zip | |
Merge pull request #2787 from seaker/master
challenge #087, Feng Chang's raku solutions
Diffstat (limited to 'challenge-086')
| -rwxr-xr-x | challenge-086/feng-chang/raku/ch-1b.raku | 15 | ||||
| -rwxr-xr-x | challenge-086/feng-chang/raku/ch-2.raku | 13 |
2 files changed, 18 insertions, 10 deletions
diff --git a/challenge-086/feng-chang/raku/ch-1b.raku b/challenge-086/feng-chang/raku/ch-1b.raku new file mode 100755 index 0000000000..7f2fa7676c --- /dev/null +++ b/challenge-086/feng-chang/raku/ch-1b.raku @@ -0,0 +1,15 @@ +#!/bin/env raku + +sub USAGE() { +print Q:c:to/END/; + Usage: {$*PROGRAM-NAME} <number A> <array N> + e.g.: + ./ch-1b.raku 7 10 8 12 15 5 + ./ch-1b.raku 6 1 5 2 9 7 + ./ch-1b.raku 15 10 30 20 50 40 + END +} + +sub MAIN(Int:D $A, *@N) { + put + [or] @N.combinations(2).map({ abs($_[0] - $_[1]) == abs($A)}); +} diff --git a/challenge-086/feng-chang/raku/ch-2.raku b/challenge-086/feng-chang/raku/ch-2.raku index 3abf043233..679037fae0 100755 --- a/challenge-086/feng-chang/raku/ch-2.raku +++ b/challenge-086/feng-chang/raku/ch-2.raku @@ -51,7 +51,6 @@ sub solve(@sdk is copy, UInt:D $pos) { put @sdk[@rows-index[$_]] for ^9; return; } - return if contradict(@sdk); if @is-uncertain[$pos] { @@ -66,15 +65,9 @@ sub solve(@sdk is copy, UInt:D $pos) { multi MAIN($data-file) { my @puzzle = $data-file.IO.words; - for ^81 -> $i { - if @puzzle[$i] eq '_' { - @puzzle[$i] = 0; - @is-uncertain[$i] = True; - } else { - @puzzle[$i] .= Int; - @is-uncertain[$i] = False; - } - } + @puzzle[$_] = 0 if @puzzle[$_] eq '_' for ^81; + @puzzle[$_] .= Int for ^81; + @is-uncertain[$_] = @puzzle[$_] == 0 for ^81; solve(@puzzle, 0); } |
