diff options
author | kaiwu <kaiwu2004@gmail.com> | 2022-04-06 23:15:56 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2022-04-06 23:15:56 +0800 |
commit | 5c2bc1f0e9c3999db079273dd38fe7cf88cd3fe4 (patch) | |
tree | a527bedc38b226f50aebee04c9e972509ccb58b8 /src/2019/day3/aoc.cpp | |
parent | 8525575cdb87fc0b265525537635d0aafaada76c (diff) | |
download | advent-of-code-5c2bc1f0e9c3999db079273dd38fe7cf88cd3fe4.tar.gz advent-of-code-5c2bc1f0e9c3999db079273dd38fe7cf88cd3fe4.zip |
match earliest
Diffstat (limited to 'src/2019/day3/aoc.cpp')
-rw-r--r-- | src/2019/day3/aoc.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
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<wire::line>& lhs, const std::vector<wire::line>& 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<int, int> 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 |