tvl-depot/users/sterni/exercises/aoc/2022/18/18.bqn

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

15 lines
688 B
BQN
Raw Normal View History

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