in reply to Re^2: Brute force vs algorithm (PWC # 100)
in thread Brute force vs algorithm (PWC # 100)
If "a" minimal path is wanted (and not all) it sort of looks the same :)
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11128406 use warnings; use List::Util qw( reduce ); local $_ = <<END; 1 2 4 6 4 9 5 1 7 2 END my @d = map [ split ], split /\n/; my %cache; print path(0, 0), "\n"; sub path { my ($r, $c) = @_; $cache{"@_"} //= $r < $#d ? $d[$r][$c] . ' + ' . reduce { eval $a <= eval $b ? $a : $b } path($r+1, $c), path($r+1, $c+1) : $d[$r][$c] }
Outputs:
1 + 2 + 4 + 1
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Brute force vs algorithm (PWC # 100)
by LanX (Saint) on Feb 16, 2021 at 03:42 UTC | |
by tybalt89 (Monsignor) on Feb 16, 2021 at 04:39 UTC | |
by tybalt89 (Monsignor) on Feb 16, 2021 at 05:04 UTC |