From 06d792147fb940dd1c66d0cf25140e92cbafd46e Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sat, 1 Jun 2024 17:58:23 +0100 Subject: [PATCH] 22b structural tweaks Still solves part 1 --- 22/22b.bqn | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/22/22b.bqn b/22/22b.bqn index 99bbf69..e63865d 100644 --- a/22/22b.bqn +++ b/22/22b.bqn @@ -8,16 +8,19 @@ Mark←{map𝕊⟨pos,dir⟩: ({𝕊⟨0,1⟩:'>';𝕊⟨1,0⟩:'v';𝕊⟨0,¯1⟩:'<';𝕊⟨¯1,0⟩:'^'}dir)⌾(pos⊸⊑) map } +TL←{⟨¯1,1⟩×⌽𝕩} +TR←{⟨1,¯1⟩×⌽𝕩} + Main←{𝕊⟨map,path⟩: Move←{ - 'L' 𝕊 ⟨pos,dir⟩: ⟨pos,⟨¯1,1⟩×⌽dir⟩; - 'R' 𝕊 ⟨pos,dir⟩: ⟨pos,⟨1,¯1⟩×⌽dir⟩; - n 𝕊 ⟨pos,dir⟩: ⟨dir Advance⍟n pos,dir⟩ + 'L' 𝕊 ⟨pos,dir⟩: ⟨pos,TL dir⟩; + 'R' 𝕊 ⟨pos,dir⟩: ⟨pos,TR dir⟩; + n 𝕊 ⟨pos,dir⟩: Advance⍟n⟨pos,dir⟩ } - Advance←{dir 𝕊 pos: + Advance←{𝕊⟨pos,dir⟩: dest←(≢map)|pos+dir dest↩{ (≢map)|𝕩+dir } •_while_ { ' '=𝕩⊑map } dest - ('.'=dest⊑map)⊑⟨pos,dest⟩ + ⟨('.'=dest⊑map)⊑⟨pos,dest⟩,dir⟩ } pos←⟨1,⊑(1⊏map)⊐'.'⟩ dir←⟨0,1⟩ -- 2.30.2