diff options
author | kaiwu <kaiwu2004@gmail.com> | 2022-12-14 10:53:29 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2022-12-14 10:53:29 +0800 |
commit | f46ace5333e19e56e0024fef94c732b8129ef9f3 (patch) | |
tree | 485437d3246fb4874b9b0e8bac48dee36a5ad005 /src/2022/day13/aoc.cpp | |
parent | a5833a22d9cbf92f673e31696d24ba3f331050a4 (diff) | |
download | advent-of-code-f46ace5333e19e56e0024fef94c732b8129ef9f3.tar.gz advent-of-code-f46ace5333e19e56e0024fef94c732b8129ef9f3.zip |
2022 day13 part1
Diffstat (limited to 'src/2022/day13/aoc.cpp')
-rw-r--r-- | src/2022/day13/aoc.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/2022/day13/aoc.cpp b/src/2022/day13/aoc.cpp index 793d5eb..fb71da4 100644 --- a/src/2022/day13/aoc.cpp +++ b/src/2022/day13/aoc.cpp @@ -1,8 +1,26 @@ #include "aoc.h" +#include <iostream> namespace aoc2022 { -std::pair<int, int> day13(line_view) { - return {0, 0}; +std::pair<int, int> day13(line_view file) { + int count{0}; + int pair{0}; + packet* ps[2] = {nullptr, nullptr}; + per_line(file, [&pair, &count, &ps](line_view lv){ + if (lv.length > 1) { + int i = pair % 2; + ps[i] = new packet; + const char* p = lv.line; + packet::load(&p, &ps[i]); + if (i == 1 && *(ps[0]) < *(ps[1])) { + printf("group[%d] is in right order\n", pair/2 + 1); + count += pair / 2 + 1; + } + pair += 1; + } + return true; + }); + return {count, 0}; } } |