2024 day 6 optim
This commit is contained in:
parent
829f92b899
commit
6a4ae2dd99
1 changed files with 8 additions and 7 deletions
|
@ -1,15 +1,16 @@
|
||||||
in←>•FLines"input"
|
in←>•FLines"input"
|
||||||
map←'#'=in
|
map←'#'=in
|
||||||
i‿j←⊑¨/¨(∨´˘⋈∨˝)'^'=in
|
i‿j←⊑/○⥊⟜(↕≢)'^'=in
|
||||||
|
|
||||||
Move←{𝕊map‿i‿j‿v:
|
Move←{𝕊map‿i‿j‿v‿k:
|
||||||
p←⌽/i↑j⊏˘map
|
p←⌽/i↑j⊏˘map
|
||||||
newi←{0<≠p ? 1+⊑p ; ¯1}
|
newi←{0<≠p ? 1+⊑p ; ¯1}
|
||||||
v↩1¨⌾((∾⟜j¨1+newi+↕i-newi)⊸⊑)v
|
v↩1¨⌾((∾⟜j¨1+newi+↕i-newi)⊸⊑)v
|
||||||
⟨⌽∘⍉map,(≠map)-j+1,newi,⌽∘⍉v⟩
|
⟨⌽∘⍉map,(≠map)-j+1,newi,⌽∘⍉v,k+1⟩
|
||||||
}
|
}
|
||||||
•Show +´⥊3⊑Move•_while_(0≤2⊸⊑)⟨map,i,j,(≢map)⥊0⟩
|
≠·‿·‿·‿v‿k←Move•_while_(0≤2⊸⊑)⟨map,i,j,(≢map)⥊0,0⟩
|
||||||
|
•Show +´⥊v
|
||||||
|
|
||||||
candidates←≢⟜i‿j¨⊸/⥊↕≢map
|
cs←>/○⥊⟜(↕≢)⌽∘⍉⁼⍟k v
|
||||||
Stop←{𝕊map‿i‿j‿v: ((i‿j⊑v)∧(¬⟨i-1,j⟩⊑v)∨(¬⟨i+1,j⟩⊑v))∨j<0}
|
Stop←{𝕊map‿i‿j‿v‿k: ((i‿j⊑v)∧(¬⟨i-1,j⟩⊑v)∨(¬⟨i+1,j⟩⊑v))∨j<0}
|
||||||
•Show +´{0≤2⊑Move•_while_(¬Stop)⟨1⌾(𝕩⊸⊑)map,i,j,(≢map)⥊0⟩}¨candidates
|
•Show +´{0≤2⊑Move•_while_(¬Stop)⟨1⌾(𝕩⊸⊑)map,i,j,(≢map)⥊0,0⟩}˘cs
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue