diff options
Diffstat (limited to '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 | } |
