From: Ben Harris Date: Tue, 21 May 2024 11:00:36 +0000 (+0200) Subject: 16a: faster search, now 19 levels in a minute X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=ddc7615c0074cd27f0905a9422f1404750a6d08c;p=aoc-2022.git 16a: faster search, now 19 levels in a minute --- diff --git a/16/16a.bqn b/16/16a.bqn index a83e749..4775b48 100644 --- a/16/16a.bqn +++ b/16/16a.bqn @@ -8,18 +8,19 @@ Main←{ names←{𝕩.name}¨𝕩 flows←{𝕩.flow}¨𝕩 tunnelses←{names⊐⥊⋈˘𝕩.tunnels}¨𝕩 + tunnels←{⊑𝕨∊𝕩⊑tunnelses}⌜˜↕≠𝕩 Open←{1⌾(𝕩⊸⊑)𝕨} Search←{ - 𝕊⟨0,·,·⟩: 0; - 𝕊⟨time,·,vs⟩: ∧´vs? time×+´vs/flows; - 𝕊⟨time,here,vs⟩: - •Show ⟨time,here,vs⟩ + 𝕊⟨0,·,·,·⟩: 0; + 𝕊⟨time,·,vs,·⟩: ∧´vs? time×+´vs/flows; + 𝕊⟨time,here,vs,visited⟩: + #•Show ⟨time,here,vs,visited⟩ time-↩1 - (+´vs/flows)+⌈´⟨Search⟨time,here,vs Open here⟩⟩∾{ - Search⟨time,𝕩,vs⟩ - }¨here⊑tunnelses + (+´vs/flows)+⌈´⟨Search⟨time,here,vs Open here,0¨visited⟩⟩∾{ + Search⟨time,𝕩,vs,visited Open here⟩ + }¨/(here⊏tunnels)∧¬visited } - Search⟨30,0,0¨𝕩⟩ + Search⟨19,0,0¨𝕩,0¨𝕩⟩ } •Show Main Prep¨ •file.Lines ⊑•args