Compare commits
No commits in common. '44c0a9d2067a5aa2917b3105a122b96817fde235' and '95361c61e0d08e80d7485eade40d87ab6dd9a7c3' have entirely different histories.
44c0a9d206
...
95361c61e0
2 changed files with 5 additions and 60 deletions
@ -1,52 +1,9 @@ |
|||||||
#include "Day10.h" |
#include "Day10.h" |
||||||
|
|
||||||
Result Day10::Task1() { |
Result Day10::Task1() { |
||||||
int sum = 0; |
return Day::Task1(); |
||||||
int R = 1; |
|
||||||
int cycle = 1; |
|
||||||
for (const string &line : input){ |
|
||||||
int count = 1; |
|
||||||
int add = 0; |
|
||||||
if (line.starts_with("addx")){ |
|
||||||
add = stoi(line.substr(5)); |
|
||||||
count = 2; |
|
||||||
} |
|
||||||
for (int i = 0; i < count; i++){ |
|
||||||
if ((cycle - 20) % 40 == 0){ |
|
||||||
sum += cycle * R; |
|
||||||
} |
|
||||||
cycle++; |
|
||||||
} |
|
||||||
R += add; |
|
||||||
} |
|
||||||
|
|
||||||
return to_string(sum); |
|
||||||
} |
} |
||||||
|
|
||||||
Result Day10::Task2() { |
Result Day10::Task2() { |
||||||
string image = "\n"; |
return Day::Task2(); |
||||||
int R = 1; |
|
||||||
int cycle = 0; |
|
||||||
for (const string &line : input){ |
|
||||||
int count = 1; |
|
||||||
int add = 0; |
|
||||||
if (line.starts_with("addx")){ |
|
||||||
add = stoi(line.substr(5)); |
|
||||||
count = 2; |
|
||||||
} |
|
||||||
for (int i = 0; i < count; i++) { |
|
||||||
char pixel = '.'; |
|
||||||
int y = cycle / 40; |
|
||||||
int x = cycle - (y * 40); |
|
||||||
if (x == R || x == R - 1 || x == R + 1) |
|
||||||
pixel = '#'; |
|
||||||
image += pixel; |
|
||||||
cycle++; |
|
||||||
if (cycle % 40 == 0) |
|
||||||
image += "\n"; |
|
||||||
} |
|
||||||
R += add; |
|
||||||
} |
|
||||||
|
|
||||||
return image; |
|
||||||
} |
} |
Loading…
Reference in new issue