aboutsummaryrefslogtreecommitdiff
path: root/src/2019/day3/aoc.cpp
diff options
context:
space:
mode:
authorkaiwu <kaiwu2004@gmail.com>2022-04-06 23:15:56 +0800
committerkaiwu <kaiwu2004@gmail.com>2022-04-06 23:15:56 +0800
commit5c2bc1f0e9c3999db079273dd38fe7cf88cd3fe4 (patch)
treea527bedc38b226f50aebee04c9e972509ccb58b8 /src/2019/day3/aoc.cpp
parent8525575cdb87fc0b265525537635d0aafaada76c (diff)
downloadadvent-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.cpp26
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