• 0 Posts
  • 5 Comments
Joined 4 days ago
cake
Cake day: December 6th, 2025

help-circle
  • Uiua

    My silly part one solution, because I have no idea how to do part two (this is usually the difficulty at which I bow out, but I want to try actually expanding my knowledge this year!).

    Parse         ← ⊜(⊜⋕⊸≠@,)⊸≠@\n
    CornerClosest ← ⊏⊢⍏⊸≡⌞(/+ⁿ2-)
    Big           ← 9999999
    RectSize      ← /×+1⌵-
    Part₁ ← (
      ∩⌟∩⌟CornerClosest 0_0 1000000_1000000 Big_0 0_Big
      ↥∩RectSize
    )
    
    $ 7,1
    $ 11,1
    $ 11,7
    $ 9,7
    $ 9,5
    $ 2,5
    $ 2,3
    $ 7,3
    
    &fras "9.txt"
    Part₁ Parse
    

  • Uiua

    Heavily copied ahem, inspired by @[email protected]’s solution :)

    Parse     ← °⊂ ▽⊸≡/↥≠@.⊜∘⊸≠@\n
    Flow      ← +⊃(/+≡↻1_¯1¤×|×⊙¬)
    Propagate ← ˜∧(⊸˜Flow)
    Part₁     ← /+♭↧ ⊸Propagate
    Part₂     ← /+⊣Propagate ⊙(˜⊂0)
    
    $ .......S.......
    $ ...............
    $ .......^.......
    $ ...............
    $ ......^.^......
    $ ...............
    $ .....^.^.^.....
    $ ...............
    $ ....^.^...^....
    $ ...............
    $ ...^.^...^.^...
    $ ...............
    $ ..^...^.....^..
    $ ...............
    $ .^.^.^.^.^...^.
    $ ...............
    &fras "7.txt"
    
    ⊃(Part₁|Part₂) Parse
    



  • Uiua

    I’m new to Uiua, so probably not the best way to express the solution!

    ParseRows ← (
      ⊜∘⊸≠@\n
      ⍜⇌°⊂ # Get the row of operations.
    )
    ParseOperations ← ⊜⊢⊸≠@\s
    SumCalculations ← (
      ≡(
        ⍣(◇/×°@*
        | ◇/+°@+
        )
      )
      /+
    )
    
    Part₁ ← (
      ParseRows
      ⊓(ParseOperations
      | ⍉ ≡(⊜⋕⊸≠@\s) # Parse columns.
      )
      SumCalculations
    )
    
    Part₂ ← (
      ParseRows
      ⊓(ParseOperations
      | ⊜(□≡(⋕▽⊸≠@\s)) ≡/↥⊸≠@\s⍉ # Parse numbers.
      )
      SumCalculations
    )
    
    &fras "6.txt"
    ⊃Part₁ Part₂