feat(sterni/aoc/2022): day18 BQN solution

Change-Id: I1504cd5e443ff0b28c2d97ae357e5d92c88bba4d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7601
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
This commit is contained in:
sterni 2022-12-18 16:56:32 +01:00 committed by clbot
parent c9a44bfe15
commit ba719f8f5e
3 changed files with 18 additions and 1 deletions

View file

@ -1,5 +1,7 @@
#!/usr/bin/env BQN
Xor •Import "../lib.bqn"
#
# Utilities
#
@ -469,7 +471,6 @@ _EnhancedPixelCount ← {+´⥊⊑ (𝕨⊸Enhance)⍟𝕗 𝕩}
day25Input ".>v" > ReadInput 25
day25ExampleInput ".>v"10"v...>>.vv>.vv>>.vv..>>.>v>...v>>v>>.>.v.v>v.vv.v..>.>>..v....vv..>.>v.v.v..>>v.v....v..v.>"
Xor (¬¬)
MoveHerd {(𝕩𝕩𝕨)+𝕨× (𝕨=𝕩) (Xor(1)) (0=𝕩)(-1)𝕨=𝕩}
_fixCount {

View file

@ -0,0 +1,14 @@
lib •Import "../../lib.bqn"
i (lib.ReadDec¨(<',')lib.SplitOn)¨ •FLines "input"
dim 1+´i
cubes i˜dim
views 012, 120, 201
Exposed {(6×+´𝕩)-2×+´views{+´(˝˘)2𝕨𝕩}¨<𝕩}
Interior {(¬𝕩)´views{((lib.Xor`(()»()))1)(𝕨)𝕩}¨<𝕩}
Displace {´(views){Fa 𝕊 𝕩:((-¬(»((0=)>)))1)(F a)𝕩}¨<𝕩}
Exterior (-Exposed ¯1=(Displace lib._fix)(-Interior+))
•Out "day18.1: "•Fmt Exposed cubes
•Out "day18.2: "•Fmt Exterior cubes

View file

@ -13,3 +13,5 @@ SplitAt ← ((⊣≤↕∘≠∘⊢)⊔⊢)
_fix {𝕩 𝕊 𝔽 𝕩}
ImportBqnLibs {•Import 𝕩˜"/"˜¯11•SH "printenv""BQNLIBS"}
Xor (¬¬)