advent2015

advent of code 2015 (c++)
git clone git://bsandro.tech/advent2015
Log | Files | Refs

commit 1cdcb262ac6836d10ba27344b28be3e614d077e9
parent ac27b7e2819f29118776896fed3f2535c4893f36
Author: bsandro <email@bsandro.tech>
Date:   Mon,  2 Dec 2024 00:08:43 +0200

day 03 p2

Diffstat:
Mday03/main.cpp | 16++++++++++++++--
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) {