}
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
}
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