about summary refs log tree commit diff
path: root/day09.k
diff options
context:
space:
mode:
Diffstat (limited to 'day09.k')
-rw-r--r--day09.k17
1 files changed, 17 insertions, 0 deletions
diff --git a/day09.k b/day09.k
new file mode 100644
index 0000000..ba46db8
--- /dev/null
+++ b/day09.k
@@ -0,0 +1,17 @@
+r:*0:"day09"
+
+/ strictly speaking, you need
+/ g:{a:s[x;"("];b:s[*|a;")"];c:.:'s[*b;"x"]; $[#*b;((*a),(*/c)#*c#*|b;(*c)_*|b);(x;"")] }
+
+s:{{(x;1_y)}.(0,*&x=y)_x}
+g:{a:s[x;"("];b:s[*|a;")"];c:.:'s[*b;"x"]; ((*a),(*/c)#*c#*|b;(*c)_*|b) }
+#*{#*|x}{(*x;""),'g[*|x]}/("";r)
+/ 110346
+
+g2:{a:s[x;"("];b:s[*|a;")"];c:.:'s[*b;"x"]; $[#*b;((#*a)+*|c*f2[(*c)#*|b];(*c)_(*|b));(#x;"")] }
+
+f2:{*{#*|x}{v:g2[*|x];((*x)+*v;*|v)}/(0;x)}
+n:f2[r]
+
+,/$(_10000000!n%10000000;10000000!n)  / ewwww
+/ 10774309173