From f46ace5333e19e56e0024fef94c732b8129ef9f3 Mon Sep 17 00:00:00 2001 From: kaiwu Date: Wed, 14 Dec 2022 10:53:29 +0800 Subject: 2022 day13 part1 --- src/2022/day13/aoc.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/2022/day13/aoc.cpp') 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 namespace aoc2022 { -std::pair day13(line_view) { - return {0, 0}; +std::pair 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}; } } -- cgit v1.2.3