diff options
Diffstat (limited to 'src/2022/day5/aoc.cpp')
-rw-r--r-- | src/2022/day5/aoc.cpp | 21 |
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); } |