From 5c2bc1f0e9c3999db079273dd38fe7cf88cd3fe4 Mon Sep 17 00:00:00 2001 From: kaiwu Date: Wed, 6 Apr 2022 23:15:56 +0800 Subject: match earliest --- src/2019/day3/aoc.cpp | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'src/2019/day3/aoc.cpp') diff --git a/src/2019/day3/aoc.cpp b/src/2019/day3/aoc.cpp index a81a29f..967863a 100644 --- a/src/2019/day3/aoc.cpp +++ b/src/2019/day3/aoc.cpp @@ -27,7 +27,22 @@ void match(const std::vector& lhs, const std::vector& lv } } -int day3(line_view file) { +int match_closest(wire ws[]) { + day3point p1; + day3point p2; + ws[0].sort(); + ws[1].sort(); + match(ws[0].psh, ws[1].psv, &p1); + match(ws[1].psh, ws[0].psv, &p2); + day3point p = std::min(p1, p2); + return p.distance() ; +} + +int match_earliest(wire ws[]) { + return 0; +} + +std::pair day3(line_view file) { wire ws[2]; day3point mp{0, 0}; int i{0}; @@ -36,14 +51,7 @@ int day3(line_view file) { ws[i++].parse(lv, &cp, &mp); return true; }); - ws[0].sort(); - ws[1].sort(); - day3point p1; - day3point p2; - match(ws[0].psh, ws[1].psv, &p1); - match(ws[1].psh, ws[0].psv, &p2); - day3point p = std::min(p1, p2); - return p.distance() ; + return {match_earliest(ws), match_closest(ws)}; } } // namespace aoc2019 -- cgit v1.2.3