summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorn <@>2023-12-18 08:07:47 +0200
committern <@>2023-12-18 08:07:47 +0200
commit7133235a9db23622df26f65107504145be1fc7ef (patch)
tree63008834353afba3c2d5fe24625a009b09319385
parentd866c40f2b813af451dc08788d84dbef92c54f0f (diff)
(':)[x;y]
-rw-r--r--a.c3
-rwxr-xr-xaoc/23/18.k2
2 files changed, 3 insertions, 2 deletions
diff --git a/a.c b/a.c
index 03e2bd91..80339062 100644
--- a/a.c
+++ b/a.c
@@ -5,6 +5,7 @@ A1(iei,/*0*/0x2332211004>>(xv*(xtv&&xv<10u)<<2)&15)
Y2(iex,/*01*/RmMA(r2f(iex,x,y))RT_A(rsz(yN,iex(x,fir(y))))Rs(as(0))Rc(ac("\0\1\x7f\x80 "[iei(x)]))Rf(y(af(A(0.,1.,WF,-WF,NF)[iei(x)])))R_(y(az(G(0ll,1,WL,-WL,NL)[iei(x)]))))
A2(ie,/*00*/x==CAT?emp(yt):iex(x,fir(yR)))
AX(prj,XmMA(x8(a,n))U k=MAX(n,xK);F(n,k-=a[i]!=GAP)x=(xtp?val:aA1)(xR);I i=0,j=1;W(i<n&&j<xn,I(xA[j]==GAP,xA[j]=a[i++])j++)W(i<n,PSH(x,a[i++]))P(xn>9,ez(x))AT(tp,AK(k,x)))
+A2(com,/*01*/AK(yK,AT(tq,aA2(xR,y))))
Z A iM(A x,L i)_(Q(xtM);A y=xy,z=aA(yn);Q(ytA);Fj(zn|!zn,zA[j]=io(yA[j],i))am(_R(xx),sqz(z)))
A ii(A x/*0*/,U i)_(X(RA(_R(xa))RC(ac(xc))RG(ai(xg))RH(ai(xh))RI(ai(xi))RL(al(xl))RF(af(xf))RS(as(xi))Rm(ii(xy,i))RM(iM(x,i))RE(az(*xL+i))RB(ai(xG[i>>3]>>(i&7)&1))R_(xR))0)
A io(A x/*0*/,L i)_(X(RE(i<(W)(xL[1]-*xL)?az(*xL+i):_R(cn[tl]))RT_E(i<(W)xn?ii(x,i):xn?mkn(ii(x,0)):xtA?_R(xx):_R(cn[xt]))Rt(xR)Rm(io(xy,i))RM(iM(x,i)))0)
@@ -56,7 +57,7 @@ A2(_1,/*01*/P(!xtt,i1(x,y))U k=xK;P(1<k,k==2&&!xtp?prj(x,A8(y,GAP),2):prj(x,&y,1
Rq(_1(xx,N(_1(xy,y))))Rr(w1(xE,xx,y))Rs(sym1(xv,y))Ru(v1[xv](y))Rw(AK(xv-1<3u&&yK==2?1:ytU?yK:1,AW(xv,aV(tr,1,&y))))Rx(ext(x,&y,1))R_(et(y)))0)
A3(_2,/*001*/P(!xtt,i2(x,y,z))A a[]={y,z};U k=xK;P(2<k,yR;prj(x,a,2))
X(Ro(yR;run(x,a,2))Rp(P(k>6,er(z))yR;I m=xn-1,j=0;Ab8;F(m,b[i]=xA[i+1]==GAP&&j<2?a[j++]:_R(xA[i+1]))I l=MAX(0,2-j);MC(b+m,a+j,8*l);_8(xx,b,m+l))
- Rq(_1(xx,N(_2(xy,y,z))))Rr(z(w2(xE,xx,yR,z)))Rv(v2[xv](y,z))Rw(xv?en(x):AK(zK,AT(tq,aA2(yR,z))))Rx(ext(x,A8(yR,z),2))R_(et(z)))0)
+ Rq(_1(xx,N(_2(xy,y,z))))Rr(z(w2(xE,xx,yR,z)))Rv(v2[xv](y,z))Rw(xv?_1(N(x1(yR)),z):com(y,z))Rx(ext(x,A8(yR,z),2))R_(et(z)))0)
AX(_8,/*01..1*/Q(n)P(n==1,x1(*a))P(n==2&&!xtp,A y=*a;y(x2(y,a[1])))P(!xtt,i8(x,a,n))U k=xK;P(n<k,prj(x,a,n))
X(Ro(run(x,a,n))Rp(P(k+n>8,er8(a,n))I m=xn-1,j=0;Ab8;F(m,b[i]=xA[i+1]==GAP&&j<n?a[j++]:_R(xA[i+1]))I l=MAX(0,n-j);MC(b+m,a+j,8*l);_8(xx,b,m+l))
Rq(_1(xx,N(_8(xy,a,n))))Rr(w8(xE,xx,a,n))Rv(x=v8[xv](a,n);mrn(n-1,a+1);x)Rx(ext(x,a,n))R_(et8(a,n)))0)
diff --git a/aoc/23/18.k b/aoc/23/18.k
index b112d2e4..18a17e7c 100755
--- a/aoc/23/18.k
+++ b/aoc/23/18.k
@@ -1,7 +1,7 @@
#!../../k
x:+" "\'0:"i/18" /(directions;distances;colours)
D:4':0 1 0 -1 0 /RDLU
-f:{1+-2!(+/y)++/*/(-;+){x':y}'+\'y*/:x} /x:directions,y:distances
+f:{1+-2!(+/y)++/*/(-;+)(':)'+\'y*/:x} /x:directions,y:distances
h:16/16!9/|1(58<)\ /parse hex
f[D@\:"RDLU"?*'*x;`I$x 1] /1