/ Uiua / 2024 / 15.ua
15.ua
 1  &fras ⊣ &args
 2  
 3  °$"_\n\n_"
 4  ⊜∘⊸≠@\n
 5  ⊏⊗⊙("v>^<"⊂⟜¯⋯1_2) ▽⊸∊"<>^v":
 6  
 7  Next ← (
 8    :↯⊙(+◡⋅⊙⋅⋅∘)⊸∊"@O[]" ⊡◡⊙⋅⋅⋅∘ ⊙⊙⍜⊡⋅1⟜:
 9    ⊂⨬(⊂+0_1|⊂-0_1|◌)⊗⊙("[]":)
10  )
11  Targets ← ⊚⋅⊙⋅◌⍢(⨬(Next|◌)⊡◡⊙⋅∘°⊂|≠0⧻) ¤⊙(∵⋅0,):
12  Move ← (
13    °0/↥=@#⊡◡⋅⊙∘ ⟜⊸Targets
14    ⍜⊡◌+¤⊙(⟜⍜⊡≡(@.∘) ▽≠@.◡⊡)
15  )
16  Solve  ← /+♭פ100_1⊚∊"O[" ◌∧⍣(⊃+Move|◌) ⊙(⊢⊚⊸=@@)
17  Expand ← ⍜⍉♭₂⨬(".."|"##"|"@."|"[]")∵(⊗⊙".#@O")
18  
19  ∩Solve ,Expand,