diff options
-rw-r--r-- | users/sterni/exercises/aoc/2022/12/12.bqn | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/users/sterni/exercises/aoc/2022/12/12.bqn b/users/sterni/exercises/aoc/2022/12/12.bqn new file mode 100644 index 000000000000..cf42f6f899ca --- /dev/null +++ b/users/sterni/exercises/aoc/2022/12/12.bqn @@ -0,0 +1,16 @@ +⟨ImportBqnLibs,_fix⟩ ← •Import "../../lib.bqn" +⟨ReplaceAll⟩ ← ImportBqnLibs "strings.bqn" +i ← >•FLines "input" + +elevation ← 'a'-˜⟨"S","E"⟩‿⟨"a","z"⟩ ReplaceAll⌾⥊ i +starts ← (⊏⟜∞‿0)¨⟨'S'=i,0=elevation⟩ +end ← 'E'=i + +Step ← { + 𝕊 steps: + Go ← {𝕏⁼((⊢∾¨↕∘≢)(≤⟜(∞⊸»˘∘+⟜1))˜𝕏elevation)⊑>((⥊⟜∞)∘≢⊸⋈)˜∞⊸»˘1+𝕏steps} + steps⌊´Go¨⟨⊢,⌽˘,⍉,⍉⌽⟩ +} +Shortest ← {⊑end/⊸⊏○⥊Step _fix 𝕩} + +•Out¨ "day12.1: "‿"day12.2: "∾¨ •Fmt∘Shortest¨ starts |