diff --git a/2022/day-10/input.txt b/2022/day-10/input.txt new file mode 100644 index 0000000..5edd3b8 --- /dev/null +++ b/2022/day-10/input.txt @@ -0,0 +1,138 @@ +addx 1 +noop +addx 2 +noop +addx 3 +addx 3 +addx 1 +addx 5 +addx 1 +noop +noop +addx 4 +noop +noop +addx -9 +addx 16 +addx -1 +noop +addx 5 +addx -2 +addx 4 +addx -35 +addx 2 +addx 28 +noop +addx -23 +addx 3 +addx -2 +addx 2 +addx 5 +addx -8 +addx 19 +addx -8 +addx 2 +addx 5 +addx 5 +addx -14 +addx 12 +addx 2 +addx 5 +addx 2 +addx -13 +addx -23 +noop +addx 1 +addx 5 +addx -1 +addx 2 +addx 4 +addx -9 +addx 10 +noop +addx 6 +addx -11 +addx 12 +addx 5 +addx -25 +addx 30 +addx -2 +addx 2 +addx -5 +addx 12 +addx -37 +noop +noop +noop +addx 24 +addx -17 +noop +addx 33 +addx -32 +addx 3 +addx 1 +noop +addx 6 +addx -13 +addx 17 +noop +noop +noop +addx 12 +addx -4 +addx -2 +addx 2 +addx 3 +addx 4 +addx -35 +addx -2 +noop +addx 20 +addx -13 +addx -2 +addx 5 +addx 2 +addx 23 +addx -18 +addx -2 +addx 17 +addx -10 +addx 17 +noop +addx -12 +addx 3 +addx -2 +addx 2 +noop +addx 3 +addx 2 +noop +addx -13 +addx -20 +noop +addx 1 +addx 2 +addx 5 +addx 2 +addx 5 +noop +noop +noop +noop +noop +addx 1 +addx 2 +addx -18 +noop +addx 26 +addx -1 +addx 6 +noop +noop +noop +addx 4 +addx 1 +noop +noop +noop +noop diff --git a/2022/day-10/prob1.py b/2022/day-10/prob1.py new file mode 100644 index 0000000..969d096 --- /dev/null +++ b/2022/day-10/prob1.py @@ -0,0 +1,20 @@ +of_interest = [20, 60, 100, 140, 180, 220] +v = 1 +cycle = 0 +cycle_to_val: list[int] = [v] + +f = open("input.txt", "r") +for line in f.readlines(): + lspl = line.strip().split(" ") + op = lspl[0] + if op == "noop": + cycle_to_val.append(v) + cycle += 1 + continue + n = int(lspl[1]) + cycle_to_val.append(v) + cycle_to_val.append(v) + cycle += 2 + v = v + n + +print(sum([c * cycle_to_val[c] for c in of_interest])) diff --git a/2022/day-10/prob2.py b/2022/day-10/prob2.py new file mode 100644 index 0000000..02bc9ab --- /dev/null +++ b/2022/day-10/prob2.py @@ -0,0 +1,24 @@ +of_interest = [20, 60, 100, 140, 180, 220] +v = 1 +cycle = 1 +cycle_to_val: list[int] = [] + +f = open("input.txt", "r") +for line in f.readlines(): + lspl = line.strip().split(" ") + op = lspl[0] + if op == "noop": + cycle_to_val.append(v) + cycle += 1 + continue + n = int(lspl[1]) + cycle_to_val.append(v) + cycle_to_val.append(v) + cycle += 2 + v = v + n + +pixels = [abs(v - (c % 40)) <= 1 for c, v in enumerate(cycle_to_val)] +for i, p in enumerate(pixels): + print("#" if p else " ", end="") + if i % 40 == 39: + print("") diff --git a/2022/day-10/testinput.txt b/2022/day-10/testinput.txt new file mode 100644 index 0000000..37ee8ee --- /dev/null +++ b/2022/day-10/testinput.txt @@ -0,0 +1,146 @@ +addx 15 +addx -11 +addx 6 +addx -3 +addx 5 +addx -1 +addx -8 +addx 13 +addx 4 +noop +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx 5 +addx -1 +addx -35 +addx 1 +addx 24 +addx -19 +addx 1 +addx 16 +addx -11 +noop +noop +addx 21 +addx -15 +noop +noop +addx -3 +addx 9 +addx 1 +addx -3 +addx 8 +addx 1 +addx 5 +noop +noop +noop +noop +noop +addx -36 +noop +addx 1 +addx 7 +noop +noop +noop +addx 2 +addx 6 +noop +noop +noop +noop +noop +addx 1 +noop +noop +addx 7 +addx 1 +noop +addx -13 +addx 13 +addx 7 +noop +addx 1 +addx -33 +noop +noop +noop +addx 2 +noop +noop +noop +addx 8 +noop +addx -1 +addx 2 +addx 1 +noop +addx 17 +addx -9 +addx 1 +addx 1 +addx -3 +addx 11 +noop +noop +addx 1 +noop +addx 1 +noop +noop +addx -13 +addx -19 +addx 1 +addx 3 +addx 26 +addx -30 +addx 12 +addx -1 +addx 3 +addx 1 +noop +noop +noop +addx -9 +addx 18 +addx 1 +addx 2 +noop +noop +addx 9 +noop +noop +noop +addx -1 +addx 2 +addx -37 +addx 1 +addx 3 +noop +addx 15 +addx -21 +addx 22 +addx -6 +addx 1 +noop +addx 2 +addx 1 +noop +addx -10 +noop +noop +addx 20 +addx 1 +addx 2 +addx 2 +addx -6 +addx -11 +noop +noop +noop