33 lines
602 B
XML
33 lines
602 B
XML
sample = 10 10 rho "..@@.@@@@.@@@.@.@.@@@@@@@.@.@@@.@@@@..@.@@.@@@@.@@.@@@@@@@.@.@.@.@.@@@@.@@@.@@@@.@@@@@@@@.@.@.@@@.@."
|
|
|
|
op ch pad g =
|
|
(g, (((rho g)[2]) rho ch)) ,% ((1 + (rho g)[1]) rho ch)
|
|
|
|
op adj g =
|
|
h = g + (1 rot g) + (-1 rot g)
|
|
v = h + (1 flip h) + (-1 flip h)
|
|
v - g
|
|
|
|
op solve g =
|
|
gx = 0 pad (g=="@")
|
|
fx = gx and 4 > adj gx
|
|
+/ ,fx
|
|
|
|
op remove g =
|
|
next = g - (g and 4 > adj g)
|
|
and/, g == next: g
|
|
remove next
|
|
|
|
op solve2 g =
|
|
gx = 0 pad (g=="@")
|
|
rx = remove gx
|
|
+/,(gx - rx)
|
|
|
|
solve sample
|
|
solve2 sample
|
|
|
|
) get "input.ivy"
|
|
|
|
solve input
|
|
solve2 input
|