aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-04-14 14:38:52 +0100
committerGitHub <noreply@github.com>2020-04-14 14:38:52 +0100
commit87bb9d4b7ca6dfc6db1ee687b2b751c2724dfcf4 (patch)
tree52fe8eaade67af4530ca974cbd2030a3beb6924c
parentbe77a44d43b8fd53557827d6bc6ce0101d05d558 (diff)
parent8d8efca3cf48774e45ec7164b74858cdfe3aab9a (diff)
downloadperlweeklychallenge-club-87bb9d4b7ca6dfc6db1ee687b2b751c2724dfcf4.tar.gz
perlweeklychallenge-club-87bb9d4b7ca6dfc6db1ee687b2b751c2724dfcf4.tar.bz2
perlweeklychallenge-club-87bb9d4b7ca6dfc6db1ee687b2b751c2724dfcf4.zip
Merge pull request #1573 from andemark/branch-for-challenge-056
ch-2.pl
-rw-r--r--challenge-056/mark-anderson/perl/ch-2.pl23
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-056/mark-anderson/perl/ch-2.pl b/challenge-056/mark-anderson/perl/ch-2.pl
new file mode 100644
index 0000000000..4045c7dae7
--- /dev/null
+++ b/challenge-056/mark-anderson/perl/ch-2.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/env perl
+use Modern::Perl;
+use List::Util qw/sum/;
+use Tree::DAG_Node;
+use feature qw/signatures/;
+no warnings qw/experimental::signatures/;
+
+my $lol = [ [ [ [7], [2], 11 ], 4 ], [ [13], [ [1], 9 ], 8 ], 5 ];
+
+my $tree = Tree::DAG_Node->lol_to_tree($lol);
+
+$tree->walk_down({callback => \&traverse});
+
+say for $tree->draw_ascii_tree->@*;
+
+sub traverse($node, $options) {
+ unless ($node->daughters) {
+ my @nodes = reverse ($node->name, (map { $_->name } $node->ancestors));
+ say join(" + ", @nodes), " == 22" if (sum @nodes) == 22;
+ }
+
+ return 1;
+}