blob: fb71da4ae9903728835a697b8889440967741356 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include "aoc.h"
#include <iostream>
namespace aoc2022 {
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};
}
}
|