diff options
author | kaiwu <kaiwu2004@gmail.com> | 2022-04-06 17:59:52 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2022-04-06 17:59:52 +0800 |
commit | d98f48eb780f51ee146b316b5ddf7ebd0bea6019 (patch) | |
tree | 6746157ebb4eb918e90ddde8dd8937e90ba00618 /src/2018/day3/aoc.cpp | |
parent | d5382bf6436dbb040fb4aa664135d8c1cb0fc3eb (diff) | |
download | advent-of-code-d98f48eb780f51ee146b316b5ddf7ebd0bea6019.tar.gz advent-of-code-d98f48eb780f51ee146b316b5ddf7ebd0bea6019.zip |
2018 day3
Diffstat (limited to 'src/2018/day3/aoc.cpp')
-rw-r--r-- | src/2018/day3/aoc.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/2018/day3/aoc.cpp b/src/2018/day3/aoc.cpp index c5aa403..3ea5432 100644 --- a/src/2018/day3/aoc.cpp +++ b/src/2018/day3/aoc.cpp @@ -2,14 +2,23 @@ namespace aoc2018 { -int day3(line_view file, int x) { +std::pair<int, int> day3(line_view file, int x) { + fabric* f = new fabric; - per_line(file, [&f](line_view lv) { - f->parse(lv); + std::vector<claim> cs; + per_line(file, [&f, &cs](line_view lv) { + f->parse(lv, cs); return true; }); - return f->count(x); + int id{0}; + for (auto& c : cs) { + if (!f->overlap(c)) { + id = c.id; + } + } + + return {f->count(x), id}; } } // namespace aoc2018 |