8 my ($src, $dst) = /(\d+)/g;
9 push @{ $neigh{$src} }, $dst;
10 push @{ $neigh{$dst} }, $src;
16 my ($score, @path) = @_;
18 $max = $score if !$max || $max < $score;
19 say "$score: ", join(' ', @path);
20 for my $next (@{ $neigh{$now} }) {
21 next if $used{$now,$next} || $used{$next,$now};
22 $used{$now,$next} = 1;
23 walk ($score + $now + $next, @path, $next);
24 delete $used{$now,$next};