diff options
author | kaiwu <kaiwu2004@gmail.com> | 2023-01-03 17:44:16 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2023-01-03 17:44:16 +0800 |
commit | 25faf3d07fee691ce02181dc55c536f58dc96b59 (patch) | |
tree | d6f0562e0fb7624ac061c0032a1be44d311885b3 /src | |
parent | ef494748151a72327300c2fc6d2e29e5cdd4281e (diff) | |
download | advent-of-code-25faf3d07fee691ce02181dc55c536f58dc96b59.tar.gz advent-of-code-25faf3d07fee691ce02181dc55c536f58dc96b59.zip |
2022 day22 part2
Diffstat (limited to 'src')
-rw-r--r-- | src/2022/day22/aoc.cpp | 34 | ||||
-rw-r--r-- | src/2022/day22/aoc.h | 11 |
2 files changed, 45 insertions, 0 deletions
diff --git a/src/2022/day22/aoc.cpp b/src/2022/day22/aoc.cpp index bdb255f..4d3f441 100644 --- a/src/2022/day22/aoc.cpp +++ b/src/2022/day22/aoc.cpp @@ -139,6 +139,40 @@ std::pair<int64_t, int64_t> day22(line_view file) { tmaps.emplace_back(m); } + cube_map cubs[6]; + // sample + // 2 + // 3 1 6 + // 4 + cubs[0].x = 2 * cube_map::size; + cubs[0].y = 0; + cubs[0].sides[facing::right].m = &cubs[5]; + cubs[0].sides[facing::right].f = facing::left; + cubs[0].sides[facing::down].m = &cubs[3]; + cubs[0].sides[facing::down].f = facing::down; + cubs[0].sides[facing::left].m = &cubs[2]; + cubs[0].sides[facing::left].f = facing::down; + cubs[0].sides[facing::up].m = &cubs[1]; + cubs[0].sides[facing::up].f = facing::down; + + // 1 + // 6 2 3 + // 5 + cubs[1].x = 0; + cubs[1].y = cube_map::size; + cubs[1].sides[facing::right].m = &cubs[2]; + cubs[1].sides[facing::right].f = facing::right; + cubs[1].sides[facing::down].m = &cubs[4]; + cubs[1].sides[facing::down].f = facing::up; + cubs[1].sides[facing::left].m = &cubs[5]; + cubs[1].sides[facing::left].f = facing::up; + cubs[1].sides[facing::up].m = &cubs[0]; + cubs[1].sides[facing::up].f = facing::down; + + + + + // facing f = right; // for(auto& r: routes) { // r.print(&f); diff --git a/src/2022/day22/aoc.h b/src/2022/day22/aoc.h index 0c7ea22..32dfb83 100644 --- a/src/2022/day22/aoc.h +++ b/src/2022/day22/aoc.h @@ -144,5 +144,16 @@ struct route { } }; +struct cube_map { + constexpr static int size = 4; + struct { + cube_map* m; + facing f; + } sides[4]; // right, down, left, up + + int x; + int y; +}; + std::pair<int64_t, int64_t> day22(line_view); } // namespace aoc2022 |