feat(sterni/aoc/2022): day16 part 1 k solution

Change-Id: I4d141e0d911157ae17f12066b859297836d4858b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7897
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
sterni 2023-01-04 13:29:32 +01:00 committed by clbot
parent 8eeb5d3bcc
commit 2b308c64b9

View file

@ -0,0 +1,21 @@
/ parsing
(f;r;t):+{x[1 4],,9_x^'","}'" "\' 0:"input"
(f;t):`s$''(f;t)
r:f!{`I$x[&(x<58)&47<x]}' r
g:f!t
/ total flow scoring
tf: {+/+\{x,(30-#x)#0}((r.)'x)*`XX=':x}
/ valves to open
vto: f^(=r).0;
/ paths to keep after each step
best: {x[(1000&#x)#>tf'x]}
p:{[n;ps]
ms:ps[&~fin:(#vto)={#?x[&`X=':x]}'ps];
rt: best[ps[&fin],(ms[w],'(,*|)'ms[w:&{(0|/vto=l)&~|/0&':x=l:*|x}'ms]),,/{x,/:,'g[*|x]}' ms];
$[n>1;o[n-1;rt];rt]}
*tf'p[29;,,`AA]