From 6a5d6a498f1b6f43a72b638f1874b174a3e32bc1 Mon Sep 17 00:00:00 2001 From: kaiwu Date: Thu, 7 Apr 2022 16:39:29 +0800 Subject: 2020 day3 --- src/2020/day3/aoc.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/2020/day3/aoc.cpp') diff --git a/src/2020/day3/aoc.cpp b/src/2020/day3/aoc.cpp index e135988..1315e2b 100644 --- a/src/2020/day3/aoc.cpp +++ b/src/2020/day3/aoc.cpp @@ -30,7 +30,7 @@ void progress(pos p, pos* d1, pos* d2, int dx, const std::vector& tre } } -int day3(line_view file) { +std::pair day3(line_view file) { std::vector trees; per_line(file, [&trees](line_view lv) { trees.push_back({lv.line, lv.line + lv.length - 1}); @@ -39,10 +39,18 @@ int day3(line_view file) { pos d1{3, 1}; pos d2{0, 0}; - int count{0}; - progress({0, 0}, &d1, &d2, 0, trees, &count); - - return count; + int count0{0}; + progress({0, 0}, &d1, &d2, 0, trees, &count0); + + int count1{0}; + size_t total{1}; + pos ds[] = {{1, 1}, {3, 1}, {5, 1}, {7, 1}, {1, 2}}; + for (auto& d : ds) { + progress({0, 0}, &d, &d2, 0, trees, &count1); + total *= count1; + count1 = 0; + } + return {count0, total}; } } // namespace aoc2020 -- cgit v1.2.3