diff options
| author | Thomas Schmucker <ts@its1.de> | 2024-11-11 18:01:56 +0100 |
|---|---|---|
| committer | Thomas Schmucker <ts@its1.de> | 2024-11-11 18:01:56 +0100 |
| commit | 7c1b63888bcc82f9d49e25726359d5c73c3e92a4 (patch) | |
| tree | 94271c94064299b16d4cc3cc9cddde58fd1ac42f | |
| parent | f0638b6cef379829127dc352a227b3d43ba383cc (diff) | |
| download | advent-of-code-7c1b63888bcc82f9d49e25726359d5c73c3e92a4.tar.gz advent-of-code-7c1b63888bcc82f9d49e25726359d5c73c3e92a4.tar.bz2 advent-of-code-7c1b63888bcc82f9d49e25726359d5c73c3e92a4.zip | |
day 10, part 2, aoc 2022
| -rw-r--r-- | 2022/src/day10.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/2022/src/day10.cpp b/2022/src/day10.cpp index 76c953c..5238474 100644 --- a/2022/src/day10.cpp +++ b/2022/src/day10.cpp | |||
| @@ -21,7 +21,6 @@ read_file(string_view filename) | |||
| 21 | reg_x += stoi(line.substr(add_instr.size())); | 21 | reg_x += stoi(line.substr(add_instr.size())); |
| 22 | } | 22 | } |
| 23 | } | 23 | } |
| 24 | cycles.emplace_back(reg_x); | ||
| 25 | 24 | ||
| 26 | return cycles; | 25 | return cycles; |
| 27 | } | 26 | } |
| @@ -36,9 +35,25 @@ part1(const vector<int>& cycles) | |||
| 36 | cout << sum << endl; | 35 | cout << sum << endl; |
| 37 | } | 36 | } |
| 38 | 37 | ||
| 38 | void | ||
| 39 | part2(const vector<int>& cycles) | ||
| 40 | { | ||
| 41 | static const size_t width = 40; | ||
| 42 | for ( size_t cycle = 0; cycle != cycles.size(); ++cycle ) { | ||
| 43 | auto column = cycle % width; | ||
| 44 | if ( column == 0 ) { | ||
| 45 | cout << '\n'; | ||
| 46 | } | ||
| 47 | auto res = static_cast<int>(column) - cycles[cycle]; | ||
| 48 | cout << " #"[res == -1 || res == 0 || res == 1]; | ||
| 49 | } | ||
| 50 | cout << endl; | ||
| 51 | } | ||
| 52 | |||
| 39 | int | 53 | int |
| 40 | main() | 54 | main() |
| 41 | { | 55 | { |
| 42 | const auto cycles = read_file("data/day10.txt"); | 56 | const auto cycles = read_file("data/day10.txt"); |
| 43 | part1(cycles); | 57 | part1(cycles); |
| 58 | part2(cycles); | ||
| 44 | } | 59 | } |
