diff options
author | kaiwu <kaiwu2004@gmail.com> | 2022-04-09 19:49:01 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2022-04-09 19:49:01 +0800 |
commit | 99a436cd89a91b7dc302e16f478f06177abed9bd (patch) | |
tree | 4399c58a1d7c72faf1bc1ec9ad10f4c82f4504bd /src/2020/day4/aoc.cpp | |
parent | 17422ecf08caeb2bd06e515870ab7b7d7a3c8760 (diff) | |
download | advent-of-code-99a436cd89a91b7dc302e16f478f06177abed9bd.tar.gz advent-of-code-99a436cd89a91b7dc302e16f478f06177abed9bd.zip |
2020 day4
Diffstat (limited to 'src/2020/day4/aoc.cpp')
-rw-r--r-- | src/2020/day4/aoc.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/2020/day4/aoc.cpp b/src/2020/day4/aoc.cpp index 171f42e..cd8fb64 100644 --- a/src/2020/day4/aoc.cpp +++ b/src/2020/day4/aoc.cpp @@ -2,26 +2,29 @@ namespace aoc2020 { -int day4(line_view file) { +std::pair<int, int> day4(line_view file) { const char* p1 = file.line; const char* p2 = file.line + file.length; const char* p = p1; - int total{0}; + int t0{0}; + int t1{0}; + bool b1{false}; + bool b2{false}; while (p < p2) { if (*p == '\n' && *(p + 1) == '\n') { - passwort pass{p1, p}; + passport pass{p1, p}; // std::cout << pass << std::endl; - if (pass.is_valid()) { - total++; - } + pass.is_valid(&b1, &b2); + t0 += int(b1); + t1 += int(b2); p1 = p + 2; } p++; } - if (passwort{p1, p}.is_valid()) { - total++; - } - return total; + passport{p1, p}.is_valid(&b1, &b2); + t0 += int(b1); + t1 += int(b2); + return {t0, t1}; } } // namespace aoc2020 |