From 5ade40833026828ed2c6822d1905004e054a305d Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Thu, 11 Dec 2025 10:26:18 +0100 Subject: [PATCH] Day 11: recursive solution --- 2025/22alt.pl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 2025/22alt.pl diff --git a/2025/22alt.pl b/2025/22alt.pl new file mode 100755 index 0000000..1ee1b3d --- /dev/null +++ b/2025/22alt.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl -w + +use v5.42; + +my %g = map { my ($n, @x) = /\w+/g; $n => \@x } <>; + +sub walk($node, $goal, $seen = {}) { + return 1 if $node eq $goal; + return $seen->{$node} if defined $seen->{$node}; + $seen->{$node} += walk($_ => $goal, $seen) + for $g{$node}->@*; + return $seen->{$node} //= 0; +} + +say walk('svr' => 'fft') * walk('fft' => 'dac') * walk('dac' => 'out') + + walk('svr' => 'dac') * walk('dac' => 'fft') * walk('fft' => 'out'); -- 2.47.3