aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkaiwu <kaiwu2004@gmail.com>2023-01-03 17:44:16 +0800
committerkaiwu <kaiwu2004@gmail.com>2023-01-03 17:44:16 +0800
commit25faf3d07fee691ce02181dc55c536f58dc96b59 (patch)
treed6f0562e0fb7624ac061c0032a1be44d311885b3 /src
parentef494748151a72327300c2fc6d2e29e5cdd4281e (diff)
downloadadvent-of-code-25faf3d07fee691ce02181dc55c536f58dc96b59.tar.gz
advent-of-code-25faf3d07fee691ce02181dc55c536f58dc96b59.zip
2022 day22 part2
Diffstat (limited to 'src')
-rw-r--r--src/2022/day22/aoc.cpp34
-rw-r--r--src/2022/day22/aoc.h11
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