diff options
author | kaiwu <kaiwu2004@gmail.com> | 2022-12-05 16:05:02 +0800 |
---|---|---|
committer | kaiwu <kaiwu2004@gmail.com> | 2022-12-05 16:05:02 +0800 |
commit | 2f828ddfb1f649f8ed53291bdaf9457c2f633f75 (patch) | |
tree | cb50b1edcd56cd7895fd71e8c6be2cbc0e1a75ef /src/2022/day5/aoc.cpp | |
parent | c2820ed7b706a580bc60a74a0d2af806ca57f501 (diff) | |
download | advent-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.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); } |