You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
660 B
Plaintext

1 year ago
$ O....#....
$ O.OO#....#
$ .....##...
$ OO.#O....O
$ .O.....O#.
$ O.#..O.#.#
$ ..O..#O..O
$ .......O..
$ #....###..
$ #OO..#....
TestInput ←
Parse ← ⊜∘≠@\n.
# the `n`th triangle number
Triangle ← ÷2×+1.
# trans: switch from sliding north to sliding west, more convenient to work with
PartIOriginal ← (
⊃(
-⊃(+1≡(□⊂¯1⊚)=@#|⧻⊢)
| ≡(□⇌∧((⍜⊢(+1)|⊂0|∘)⊗⊙"O#")⊙[0])
)⍉
/+≡(/+-≡⊃(Triangle-:|Triangle)∩°□)
)
SlideLeft ← ≡(⍜⊜□(≡(□⊐/⊂⊕□∩°□)=@..)≠@#.)
PartI ← /+♭×⊃(¤-⇡.⧻⊢|=@O)SlideLeft⍉
PartI Parse TestInput
PartI Parse &fras "day14.in"