commit effce69a0ba285e2901cec1dd0a7f12b99d55530
parent 15a46e5ab583238411bec94a1c1af97c43e96a48
Author: mpizzzle <m@michaelpercival.xyz>
Date: Fri, 17 Dec 2021 21:06:24 +0000
puzzle 14 part 1 complete (GNU APL is some nonsense)
Diffstat:
3 files changed, 134 insertions(+), 0 deletions(-)
diff --git a/2021/files/14-test.txt b/2021/files/14-test.txt
@@ -0,0 +1,18 @@
+NNCB
+
+CH -> B
+HH -> N
+CB -> H
+NH -> C
+HB -> C
+HC -> B
+HN -> C
+NN -> C
+BH -> H
+NC -> B
+NB -> B
+BN -> B
+BB -> N
+BC -> B
+CC -> N
+CN -> C
diff --git a/2021/files/14.txt b/2021/files/14.txt
@@ -0,0 +1,102 @@
+FPNFCVSNNFSFHHOCNBOB
+
+ON -> S
+SO -> B
+OH -> C
+SN -> F
+BP -> O
+SK -> F
+OO -> K
+CF -> O
+PP -> F
+KS -> K
+KN -> B
+BN -> H
+HN -> H
+NP -> P
+BB -> N
+SB -> F
+BH -> V
+NV -> S
+PO -> S
+CN -> N
+VP -> B
+HH -> B
+NB -> V
+NF -> O
+BV -> B
+CV -> B
+SS -> H
+CB -> C
+VN -> S
+FH -> K
+BF -> H
+NH -> P
+PV -> K
+OP -> F
+HO -> N
+SH -> C
+VH -> P
+VK -> B
+OF -> F
+KK -> B
+SC -> H
+CO -> S
+BK -> V
+PF -> B
+OK -> K
+FO -> V
+CH -> O
+KO -> B
+CS -> V
+OC -> P
+SP -> V
+KF -> C
+HV -> S
+KH -> B
+VS -> K
+KB -> F
+FF -> P
+VF -> H
+NC -> S
+HB -> V
+NN -> C
+FV -> B
+PH -> V
+KV -> C
+PB -> C
+OS -> O
+PS -> H
+FS -> N
+FP -> O
+VV -> O
+FN -> V
+NO -> K
+NK -> V
+OB -> F
+PC -> O
+OV -> H
+FK -> C
+HS -> F
+SF -> N
+VC -> C
+BS -> N
+PK -> O
+FB -> S
+CK -> B
+KP -> N
+KC -> F
+BC -> F
+HK -> H
+VO -> O
+NS -> B
+VB -> K
+FC -> K
+SV -> O
+HF -> H
+HC -> C
+CP -> O
+CC -> P
+PN -> P
+HP -> C
+BO -> F
diff --git a/2021/puzzle_14.apl b/2021/puzzle_14.apl
@@ -0,0 +1,14 @@
+#! /usr/bin/apl --script
+
+input← ⎕FIO[49] 'files/14.txt'
+
+pad← {(1 -⍨ 2 × ⍴ ⍵) ⍴ ∊⍵,¨' '/⍨⍴⍵}
+r← {((↑↑⍵),' ',↑⌽↑⍵) (↑⌽⍵)} ¨ {⍵⊂⍨~⍵∊'-> '} ¨ 2 ↓ input
+s←{∊ a ({((3-⍨⍴y)↑y),,/(3-⍨⍴y)↓y←1⌽(⊂1⍴⍺),⍨¯1⌽⍵} ⍣ d) (1↓(d←(' '≠a←↑⌽⍺)×+/⍵ ⍷⍨ ↑⍺),⍵⊂⍨~¯1⌽⍵ ⍷⍨ ↑⍺)}
+c←({s/r, ⊂ pad ⊃ ⍵} ⍣ 10) 1 ⌷ input
+
+(↑⌽f)-⍨↑f←o/⍨0≠o←l[⍒l←{+/+⌿⍵} ¨ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ∘.= c] ⍝ part 1
+
+)OFF
+
+