From: Ben Harris Date: Sun, 12 May 2024 10:57:52 +0000 (+0100) Subject: 12: factorise contruction of can_go_x arrays somewhat X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=2470b4e8ff867eded474d643171914455364c0c3;p=aoc-2022.git 12: factorise contruction of can_go_x arrays somewhat --- diff --git a/12/12a.bqn b/12/12a.bqn index f0ebe28..69790d1 100644 --- a/12/12a.bqn +++ b/12/12a.bqn @@ -5,12 +5,10 @@ Prep←{ } Main←{𝕊⟨start,end,map⟩: - can_go_n←1≥(»map)-map - can_go_s←1≥(«map)-map - can_go_w←1≥(»˘map)-map - can_go_e←1≥(«˘map)-map - Flow←{ - 𝕩∨(«𝕩∧can_go_n)∨(»𝕩∧can_go_s)∨(«˘𝕩∧can_go_w)∨(»˘𝕩∧can_go_e) + shifts←⟨«,«˘,»˘,»⟩ + can_go←{1≥(𝕏map)-map}¨shifts + Flow←{𝕊now: + now∨´can_go{𝕏now∧𝕨}¨⌽shifts } count←0 {count+↩1 ⋄ Flow 𝕩} •_while_ {¬∨´⥊(𝕩∧end)} start diff --git a/12/12b.bqn b/12/12b.bqn index d92f7c9..66163c3 100644 --- a/12/12b.bqn +++ b/12/12b.bqn @@ -6,12 +6,10 @@ Prep←{ } Main←{𝕊⟨start,end,map⟩: - can_go_n←1≥(»map)-map - can_go_s←1≥(«map)-map - can_go_w←1≥(»˘map)-map - can_go_e←1≥(«˘map)-map - Flow←{ - 𝕩∨(«𝕩∧can_go_n)∨(»𝕩∧can_go_s)∨(«˘𝕩∧can_go_w)∨(»˘𝕩∧can_go_e) + shifts←⟨«,«˘,»˘,»⟩ + can_go←{1≥(𝕏map)-map}¨shifts + Flow←{𝕊now: + now∨´can_go{𝕏now∧𝕨}¨⌽shifts } count←0 {count+↩1 ⋄ Flow 𝕩} •_while_ {¬∨´⥊(𝕩∧end)} start