Change-Id: Idad006eaacbd89827feb5bbd9d6e04605743fca2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7555 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			598 B
		
	
	
	
		
			BQN
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			598 B
		
	
	
	
		
			BQN
		
	
	
	
	
	
| ⟨SplitOn,ReadDec⟩ ← •Import "../../lib.bqn"
 | ||
| i ← ReadDec⌾(1⊸⊑)¨ (<' ')⊸SplitOn¨ •FLines "input"
 | ||
| 
 | ||
| UnitDelta ← (⊢÷(|+0⊸=))
 | ||
| ExpandStep ← {
 | ||
|   𝕊 "L"‿l: 𝕊 (-l)‿0;
 | ||
|   𝕊 "R"‿r: 𝕊 r‿0;
 | ||
|   𝕊 "U"‿u: 𝕊 0‿u;
 | ||
|   𝕊 "D"‿d: 𝕊 0‿(-d);
 | ||
|   𝕊 delta: ((⌈´|)⥊<∘UnitDelta) delta
 | ||
| }
 | ||
| 
 | ||
| Step ← {knots 𝕊 delta: {h 𝕊 t: (UnitDelta h-t) +⍟(1<⌈´|h-t) t}` (delta⊸+)⌾⊑ knots}
 | ||
| Visited ← {+´0=⊒(¯1⊸⊑)¨(<𝕨⥊<0‿0) Step` ∾ExpandStep¨ 𝕩}
 | ||
| 
 | ||
| •Out "day09.1: "∾•Fmt  2 Visited i
 | ||
| •Out "day09.2: "∾•Fmt 10 Visited i
 |