day 8 ivy part 2 wip
parent
bfcffc614c
commit
a635d3f5db
|
@ -15,3 +15,94 @@ sample
|
||||||
+/, vis4 sample
|
+/, vis4 sample
|
||||||
+/, vis4 input
|
+/, vis4 input
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
op pady a = -1, a, -1
|
||||||
|
op padx a = transp pady transp a
|
||||||
|
op pad a = pady padx a
|
||||||
|
|
||||||
|
A = pad sample
|
||||||
|
|
||||||
|
|
||||||
|
i = 3 3
|
||||||
|
d = 1 0
|
||||||
|
|
||||||
|
op i slice d =
|
||||||
|
t = A[i[1];i[2]]
|
||||||
|
t < 0: 0 rho 0
|
||||||
|
t, (i+d) slice d
|
||||||
|
|
||||||
|
A
|
||||||
|
A[3;3]
|
||||||
|
i slice d
|
||||||
|
i slice -d
|
||||||
|
|
||||||
|
op empty v = 0 == rho v
|
||||||
|
|
||||||
|
# takes from v while v[i] is less than v[0]
|
||||||
|
op shorter v =
|
||||||
|
empty v: v
|
||||||
|
x = v[1]
|
||||||
|
v = 1 flip v
|
||||||
|
(and\ x > v) sel v
|
||||||
|
|
||||||
|
# returns 1 if any v[i] blocks v
|
||||||
|
op blocked v =
|
||||||
|
empty v: 0
|
||||||
|
or/ v[1] <= 1 drop v
|
||||||
|
|
||||||
|
v = 5 1 2 3 4 3 2 5 6 1 2 3
|
||||||
|
|
||||||
|
shorter v
|
||||||
|
shorter 1 2 3
|
||||||
|
|
||||||
|
# takes from v while v[i] is less than v[0]
|
||||||
|
op shorter2 v =
|
||||||
|
x = v[1]
|
||||||
|
v = 1 flip v
|
||||||
|
v, +/ (and\ transp x > v)
|
||||||
|
|
||||||
|
#shorter2 transp (1, rho v) rho v
|
||||||
|
#shorter2 3 3 rho flip iota 9
|
||||||
|
|
||||||
|
""
|
||||||
|
sample
|
||||||
|
"-"
|
||||||
|
|
||||||
|
op viewDistance v = (blocked v) + rho shorter v
|
||||||
|
|
||||||
|
viewDistance 1 2 3
|
||||||
|
viewDistance 5 1 2 3
|
||||||
|
viewDistance 5 5
|
||||||
|
|
||||||
|
op p score A =
|
||||||
|
x = p[1]
|
||||||
|
y = p[2]
|
||||||
|
e = A[y;x]
|
||||||
|
row = A[y]
|
||||||
|
col = A[;x]
|
||||||
|
n = 1
|
||||||
|
n = n * viewDistance flip x take row
|
||||||
|
n = n * viewDistance e, x drop row
|
||||||
|
n = n * viewDistance flip y take col
|
||||||
|
n = n * viewDistance e, y drop col
|
||||||
|
n
|
||||||
|
|
||||||
|
op i loopY A =
|
||||||
|
i[2] > (rho A)[2]: 0
|
||||||
|
(i score A) max (i + 0 1) loopY A
|
||||||
|
|
||||||
|
op i loopX A =
|
||||||
|
i[1] > (rho A)[1]: 0
|
||||||
|
(i loopY A) max (i + 1 0) loopX A
|
||||||
|
|
||||||
|
op solve A = 5 5 loopY A
|
||||||
|
|
||||||
|
|
||||||
|
1 1 score sample
|
||||||
|
2 2 score sample
|
||||||
|
3 4 score sample
|
||||||
|
#solve sample
|
||||||
|
|
||||||
|
#1 1 score sample; 1 2 score sample; 1 3 score sample; 1 4 score sample; 1 5 score sample
|
||||||
|
#2 1 score sample; 2 2 score sample; 2 3 score sample; 2 4 score sample; 2 5 score sample
|
||||||
|
|
Loading…
Reference in New Issue