aboutsummaryrefslogtreecommitdiff
path: root/src/2022/day5/aoc.cpp
diff options
context:
space:
mode:
authorkaiwu <kaiwu2004@gmail.com>2022-12-05 16:05:02 +0800
committerkaiwu <kaiwu2004@gmail.com>2022-12-05 16:05:02 +0800
commit2f828ddfb1f649f8ed53291bdaf9457c2f633f75 (patch)
treecb50b1edcd56cd7895fd71e8c6be2cbc0e1a75ef /src/2022/day5/aoc.cpp
parentc2820ed7b706a580bc60a74a0d2af806ca57f501 (diff)
downloadadvent-of-code-2f828ddfb1f649f8ed53291bdaf9457c2f633f75.tar.gz
advent-of-code-2f828ddfb1f649f8ed53291bdaf9457c2f633f75.zip
2022 day5
Diffstat (limited to 'src/2022/day5/aoc.cpp')
-rw-r--r--src/2022/day5/aoc.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/2022/day5/aoc.cpp b/src/2022/day5/aoc.cpp
index bfaaaf4..78eff91 100644
--- a/src/2022/day5/aoc.cpp
+++ b/src/2022/day5/aoc.cpp
@@ -3,8 +3,25 @@
#include <vector>
namespace aoc2022 {
-std::pair<int, int> day5(line_view file) {
- return {0,0};
+crate* crate::cs[9];
+void day5(line_view file, char* msg, int mode) {
+ crate::init();
+ per_line(file, [mode](line_view lv){
+ char c = *lv.line;
+ if (c == '[') {
+ const char* p = lv.line;
+ for(int i = 0; i < 9; i++) {
+ crate* c = crate::make(line_view{p, 4});
+ crate::add(c, i);
+ p += 4;
+ }
+ }
+ if (c == 'm') {
+ crate::move(lv, mode);
+ }
+ return true;
+ });
+ crate::message(msg);
}