aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2024-11-11 18:01:56 +0100
committerThomas Schmucker <ts@its1.de>2024-11-11 18:01:56 +0100
commit7c1b63888bcc82f9d49e25726359d5c73c3e92a4 (patch)
tree94271c94064299b16d4cc3cc9cddde58fd1ac42f
parentf0638b6cef379829127dc352a227b3d43ba383cc (diff)
downloadadvent-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.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}