aboutsummaryrefslogtreecommitdiff
path: root/src/2022/day5/aoc.cpp
diff options
context:
space:
mode:
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);
}