From ac77d9ee455fd5d1f556148995836fca5b4e6a59 Mon Sep 17 00:00:00 2001 From: rhiannon morris Date: Thu, 8 Dec 2022 09:32:27 +0100 Subject: [PATCH] day8 --- aoc.bqn | 12 +++++++++++- aoc.m | 2 ++ day8.m | 11 +++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 day8.m diff --git a/aoc.bqn b/aoc.bqn index 1040687..dc877a5 100644 --- a/aoc.bqn +++ b/aoc.bqn @@ -50,4 +50,14 @@ Day5 ⇐ { Day6 ⇐ {{𝕨+ ⊑/ ≡⟜⍷˘ 𝕨↕𝕩}⟜(•FChars 𝕩)¨ 4‿14} # ⟨ 1929 3298 ⟩ -# •Show Day6 ⊑•args +Day7 ⇐ {𝕩, "mercury only"!0} + +Day8 ⇐ { + _rots ← {F‿x←𝔽‿𝕩, >{F⌾𝕏x}¨⟨⊢,⍉,⌽˘,⍉⌽⟩} + A ← {+´⥊ ∨˝ ∧´∘(⊑>1⊸↓)¨ 𝕩} + B ← {⌈´⥊ ×˝ {1⊑⎊(1-˜≠𝕩)/ (⊑≤⊢) 𝕩}¨ 𝕩} + (A⋈B) ¯1⊸↓∘↓˘_rots '0'-˜ >•FLines 𝕩 +} +# ⟨ 1843 180000 ⟩ + +# •Show Day8 ⊑•args diff --git a/aoc.m b/aoc.m index 2e96b18..3929ee9 100644 --- a/aoc.m +++ b/aoc.m @@ -45,6 +45,7 @@ run_day(Day, Part, Lines, Out) :- :- import_module day5. :- import_module day6. :- import_module day7. +:- import_module day8. :- pred solution(int::in, sol::out(sol)) is semidet. solution(1, day1.run). @@ -54,3 +55,4 @@ solution(4, day4.run). solution(5, day5.run). solution(6, day6.run). solution(7, day7.run). +solution(8, day8.run). diff --git a/day8.m b/day8.m new file mode 100644 index 0000000..cdf3205 --- /dev/null +++ b/day8.m @@ -0,0 +1,11 @@ +:- module day8. +:- interface. +:- import_module basics. +:- import_module univ. + +:- pred run(part::in, lines::in, univ::out) is cc_multi. + +:- implementation. + +:- pragma no_determinism_warning(run/3). +run(_, _, _) :- die("bqn only").