summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorn <@>2023-12-15 05:52:03 +0200
committern <@>2023-12-15 05:52:03 +0200
commitfbff71457cb6fd08a5c0667eefec3de275c5a64c (patch)
tree9f1ce8176e343c622eb342ffd4fd350872268cd8
parentc91a062dc7ca5c07bd56509b24c0d826c9b9a97c (diff)
aoc
-rwxr-xr-xaoc/23/04.k4
-rwxr-xr-xaoc/23/12.k18
-rwxr-xr-xaoc/23/14.k13
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