commit 1cdcb262ac6836d10ba27344b28be3e614d077e9
parent ac27b7e2819f29118776896fed3f2535c4893f36
Author: bsandro <email@bsandro.tech>
Date: Mon, 2 Dec 2024 00:08:43 +0200
day 03 p2
Diffstat:
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/day03/main.cpp b/day03/main.cpp
@@ -38,8 +38,20 @@ int part1(Data &input) {
return visited.size();
}
int part2(Data &input) {
- (void)input;
- return 0;
+ std::set<std::pair<int, int>> visited;
+ visited.insert(std::make_pair(0, 0));
+ std::pair<int,int> cur1{0, 0};
+ std::pair<int,int> cur2{0, 0};
+ for (int i=0; i<(int)input.size(); ++i) {
+ auto &cur = i%2==0?cur1:cur2;
+ char c = input[i];
+ if (c=='>') ++cur.first;
+ else if (c=='<') --cur.first;
+ else if (c=='^') ++cur.second;
+ else if (c=='v') --cur.second;
+ visited.insert(cur);
+ }
+ return visited.size();
}
int main(int argc, char **argv) {