aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2022/src/day10.cpp17
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
38void
39part2(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
39int 53int
40main() 54main()
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}