changeset 22:1ed3228c05ed

day 13 part 2
author Lewin Bormann <lbo@spheniscida.de>
date Thu, 15 Dec 2022 20:59:59 +0100
parents 527acdd2d097
children 3c02202f3b8e
files 13/13.jl
diffstat 1 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/13/13.jl	Thu Dec 15 20:53:54 2022 +0100
+++ b/13/13.jl	Thu Dec 15 20:59:59 2022 +0100
@@ -39,6 +39,10 @@
     end
 end
 
+function sort_lists!(e::Vector{Element})
+    sort!(e; lt=(a, b) -> compare_lists(a, b) < 0)
+end
+
 function parse_list(s::String)::Element
     r = parse_one(s, IOL);
     any_to_elem(r[1])
@@ -47,18 +51,29 @@
 function run_file(f::String)
     open(f; read=true) do fh
         v = Int[];
+        m1, m2 = parse_list("[[2]]"), parse_list("[[6]]");
+        lists = Element[m1, m2];
         i = 1;
         while !eof(fh)
             l1 = readline(fh);
             l2 = readline(fh);
             _sp = readline(fh);
             a, b = parse_list(l1), parse_list(l2);
+            push!(lists, a, b);
             if compare_lists(a, b) < 0
                 push!(v, i);
             end
             i += 1
         end
         @show (v, sum(v))
+
+        sort_lists!(lists);
+        for (i, l) in enumerate(lists)
+            println(i, "  ", l);
+        end
+
+        i, j = findfirst((==)(m1), lists), findfirst((==)(m2), lists);
+        @show (i, j, i*j);
     end
 end
 
@@ -66,4 +81,3 @@
 @time run_file("13/test_input.txt");
 println("PART 1 INPUT");
 @time run_file("13/input.txt");
-@time run_file("13/input.txt");