diff options
author | n <@> | 2023-12-15 05:52:03 +0200 |
---|---|---|
committer | n <@> | 2023-12-15 05:52:03 +0200 |
commit | fbff71457cb6fd08a5c0667eefec3de275c5a64c (patch) | |
tree | 9f1ce8176e343c622eb342ffd4fd350872268cd8 | |
parent | c91a062dc7ca5c07bd56509b24c0d826c9b9a97c (diff) |
aoc
-rwxr-xr-x | aoc/23/04.k | 4 | ||||
-rwxr-xr-x | aoc/23/12.k | 18 | ||||
-rwxr-xr-x | aoc/23/14.k | 13 |
3 files changed, 19 insertions, 16 deletions
diff --git a/aoc/23/04.k b/aoc/23/04.k index 8cc66660..2439952e 100755 --- a/aoc/23/04.k +++ b/aoc/23/04.k @@ -1,4 +1,4 @@ #!../../k -m:({#x^x^y}..'"|"\*|":"\)'0:"i/04" /number of matches -+/(0,30(2*)\1)m /1 +m:({#x^x^y}..'"|"\*|":"\)'0:"i/04" /number of matches ++/(0,30(2*)\1)m /1 +/((#m)#1){@[x;y+1+!m y;+;x y]}/!#m /2 diff --git a/aoc/23/12.k b/aoc/23/12.k index 1942cee7..1250fb21 100755 --- a/aoc/23/12.k +++ b/aoc/23/12.k @@ -1,15 +1,17 @@ #!../../k -f:{(i;j):#'(x;y) - :T[i;j]: :[-1<v:T[i;j];v - ~j;~+/"#"=x - i<-1+/1+y;0 - +/(o[-1_x;y]*|/".?"=*|x - o[(-k)_x;-1_y]*&/|/#[-k;x]=/:"#.?"2,,~!k:1+*|y)]} +f:{[i;j] :T[i;j]: :[-1<v:T[i;j];v + i<-1+/1+j#Y;0 + +/(o[i-1;j]*|/".?"=X i-1 + o[0|i-k;j-1]*&/|/#[-k;i#X]=/:"#.?"2,,~!k:1+Y j-1)]} -g:{x:".",x +g:{X::x:".",x + Y::y T::(1+#x;1+#y)#-1 - f[x;y]} + T[;0]:1,~|\"#"=x + f[#x;#y]} x:@[;1;.:]'" "\'0:"i/12" +/g.'x /1 +/g.'{("?"/;,/)@'5#','x}'x /2 + +\cat o/12 diff --git a/aoc/23/14.k b/aoc/23/14.k index 9833f4f8..8a4dece7 100755 --- a/aoc/23/14.k +++ b/aoc/23/14.k @@ -1,14 +1,15 @@ #!../../k -n:#x:0:"i/14" +x:0:"i/14" +n:#x roll:{@[x;(0;n)+\:&&/".O"=(-n;n)_\:x;:;"O."]} -tilt:(2#n)#roll/,/ -load:+/(|1+!n)*+/'"O"= -load tilt x /1 +tilt:roll/ +load:+/(n-&n#n)*"O"= +load tilt@,/x /1 -rot:+|: +rot:@[;n/|{|y}\!2#n] cyc:4(rot tilt@)/ -rho:{t:cyc@*|x;:[^x?t;x,,t;x]}/,x +rho:{t:cyc@*| \x;:[^x?t;x,,t;x]}/,,/x s:rho?cyc@*|rho /loop start l:(#rho)-s /loop length load rho s+l!1000000000-s /2 |