Prep←{
+ •Show 𝕩
name⇐2↑6↓𝕩
flow⇐•ParseFloat(𝕩∊"0123456789")/𝕩
- tunnels⇐⟨∘,2⟩⥊3↓(𝕩∊('A'+↕('Z'-'A')))/𝕩
+ tunnels⇐⟨∘,2⟩⥊3↓(𝕩∊('A'+↕(1+'Z'-'A')))/𝕩
}
Main←{
Search←{
𝕊⟨time,here,vs⟩:
# •Show ⟨time,here,vs⟩
- ⌈´⟨0⟩∾{
- Move⟨time-⟨here,𝕩⟩⊑paths+1,𝕩,vs⟩
- }¨/nonzero∧¬vs
+ ⌈´⟨0⟩∾{Move⟨time-⟨here,𝕩⟩⊑paths+1,𝕩,vs⟩}¨/nonzero∧¬vs
}
Move←{
𝕊⟨time,·,·⟩: time < 0 ? ¯∞;
𝕊⟨time,here,vs⟩:
- •Show ⟨time,here,vs⟩
- •Show (time×here⊑flows) + Search⟨time,here,vs Open here⟩
+ (time×here⊑flows) + Search⟨time,here,vs Open here⟩
}
Search⟨30,aa,0¨𝕩⟩
}