day 14 ivy solution
parent
0247ce727a
commit
b6512dc6c1
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,38 @@
|
||||||
|
|
||||||
|
) get "input.ivy"
|
||||||
|
|
||||||
|
dims = 101 103 # width, height
|
||||||
|
|
||||||
|
op t steps A = (A[;1 2] + t * A[;3 4]) mod dims
|
||||||
|
|
||||||
|
op show coords =
|
||||||
|
pic = (*/dims) rho '.'
|
||||||
|
pic[dims decode transp coords] = '#'
|
||||||
|
transp dims rho pic
|
||||||
|
|
||||||
|
op qscore coords =
|
||||||
|
x = coords[;1]
|
||||||
|
y = coords[;2]
|
||||||
|
m = floor dims / 2
|
||||||
|
q1 = +/ (x < m[1]) and (y < m[2])
|
||||||
|
q2 = +/ (x > m[1]) and (y < m[2])
|
||||||
|
q3 = +/ (x < m[1]) and (y > m[2])
|
||||||
|
q4 = +/ (x > m[1]) and (y > m[2])
|
||||||
|
*/(q1, q2, q3, q4)
|
||||||
|
|
||||||
|
# qscore@ (iota */dims) @steps A
|
||||||
|
|
||||||
|
op v minq t =
|
||||||
|
t < 0: v[1]
|
||||||
|
q = qscore (t steps v[3])
|
||||||
|
q < v[2]: (t, q, box v[3]) minq (t-1)
|
||||||
|
v minq (t-1)
|
||||||
|
|
||||||
|
op find A = (-1 1e100, box A) minq (*/dims)
|
||||||
|
|
||||||
|
#show 8270 steps input
|
||||||
|
qscore 100 steps input
|
||||||
|
|
||||||
|
t = find input
|
||||||
|
show (t steps input)
|
||||||
|
"t = ", t
|
Loading…
Reference in New Issue