about summary refs log tree commit diff
path: root/day14.bqn
diff options
context:
space:
mode:
Diffstat (limited to 'day14.bqn')
-rw-r--r--day14.bqn14
1 files changed, 14 insertions, 0 deletions
diff --git a/day14.bqn b/day14.bqn
new file mode 100644
index 0000000..a54b14c
--- /dev/null
+++ b/day14.bqn
@@ -0,0 +1,14 @@
+str←•Import"bqn-libs/strings.bqn"
+template‿rules ← (⊑⋈2⊸↓) str.lf str.Split ¯1↓ •FChars"day14"
+rules ↩ >(" -> " ⊸ str.Split)¨ rules
+
+pairs ← ⊏˘rules
+letters ← ⊑¨pairs
+
+f ← +´˘ pairs ≡⌜ <˘ 2↕template
+t ← ¬ (¯1 ↑ template) ⊒ letters
+
+m ← ((<˘⊑¨rules) ≡⌜ pairs) + ((<˘⊑∘⌽¨⌽˘rules) ≡⌜ pairs)
+
+•Show (⌈´-⌊´) +´¨ (⊐ letters) ⊔ t + m⊸(+˝∘×)⍟10 f
+•Show (⌈´-⌊´) +´¨ (⊐ letters) ⊔ t + m⊸(+˝∘×)⍟40 f