diff --git a/2022/day-02/input.txt b/2022/day-02/input.txt new file mode 100644 index 0000000..81ef8e3 --- /dev/null +++ b/2022/day-02/input.txt @@ -0,0 +1,2500 @@ +A X +A X +B Y +B Y +A Y +A X +A Y +A X +A X +B Y +A X +A X +A X +A X +C X +C Z +A X +B Y +A X +A X +C X +C Y +A X +A Z +B Y +A X +C X +A X +B Y +A X +A X +A X +A Z +C X +C X +C X +B Y +B X +B Z +B Y +C X +A Y +A X +A X +B X +A X +A X +B Y +C X +B Y +A X +A X +A X +C X +B Y +C X +B Y +A X +C X +B Y +B X +B Y +C Z +A X +A Y +C Z +C X +A X +C X +A X +A X +C Z +B Y +C X +B X +B X +C X +A X +A X +A X +C Z +C X +B Y +A X +C X +B Z +A X +C Z +C Z +A X +A X +A X +A Y +A X +A X +B Y +A X +C Z +C Z +A X +A X +C X +A Y +A Y +A X +A X +A X +B Z +A X +A Z +A X +A X +A X +C Z +C Z +A X +B Y +C Z +A X +A X +A X +A X +A Y +B Y +A Z +A X +A X +A X +A Z +A X +C Z +C Z +C X +C Z +A X +B Y +C Y +A X +B Y +A X +A X +A X +A X +A X +C X +A X +A X +B X +A X +B Y +A X +B Y +A X +B Y +B Y +C X +A X +A X +A X +A Z +C X +A Y +C X +C X +B Y +A X +A X +C Z +A X +C X +B Y +A Y +A X +A X +B Y +A X +A X +C X +A Z +A X +A X +A X +B Y +B Y +B Z +A Z +A X +B Y +B Y +A X +A X +A X +B Z +C Z +A X +A Y +A X +A X +A X +A X +C X +A Y +A X +B Z +C Z +C Z +A X +C X +B Y +A X +A X +B Y +A X +B Y +B Y +A X +A X +A X +A X +A X +B Y +B Y +A X +B X +C X +A X +B Y +A X +A X +A X +B Y +B Y +A Z +C Z +B X +C X +A X +A X +B Y +A Y +A X +A X +A X +A Z +B Y +A X +A Y +A X +A X +A X +A Z +A X +B Y +A X +A X +C X +B Y +B Y +B Y +A X +A Y +B Y +B Y +A X +B Y +A Y +A Y +A X +A X +B Y +A X +A X +A X +A Y +B Y +A Z +A X +C Z +A X +A Y +A Z +A X +A Z +A X +A X +A X +A Z +C X +A X +A X +C Z +A X +A X +C X +C Z +B Y +B Y +C Z +C X +A X +C Z +A Z +B Y +B Y +C Z +C X +A X +C Z +A X +A X +A Y +A X +B Y +B Y +C Y +A X +C X +A X +C X +A X +A Y +A X +C X +C Z +C X +B Y +A X +A X +A Z +C Z +A X +B Y +A X +B X +C Z +C Z +B Z +B Y +A X +A X +A X +A X +C Z +C Z +A X +A X +A X +C X +A X +A X +A X +B Y +A Y +A X +C X +C Z +A X +C Z +B Y +A X +A X +A Y +A X +B Y +C X +A X +A Y +A Y +B X +A Y +C Z +B Y +A X +C Z +C X +B Y +B Y +B Y +A X +A X +A X +A X +A X +A X +A X +A Y +A X +B Z +A X +A X +A X +C Z +A X +A X +A X +A X +A X +A X +B Y +C X +B Y +A X +A X +A X +A X +C Z +A X +A X +C X +A X +A X +B Y +A X +B X +A X +A X +A X +A Y +B X +B Y +B Y +A X +C X +A X +A Y +B Z +A Y +A Z +B Y +B Y +A X +A Y +A X +B Y +A X +B Z +A X +A X +A X +A X +A X +B Y +B Y +A X +A X +B Y +A Y +A X +B Z +A X +A X +A X +A X +B Z +B Y +A X +C X +A X +A X +A X +B Y +C Z +C Z +B Y +B Y +A X +B Y +A Y +C X +A X +A X +A X +A Y +C Z +A X +A Z +B Y +B Y +B Y +A X +B Z +C Z +A X +A Y +C Z +A X +B Y +A X +B Y +A Z +A X +A X +A X +A Y +A X +A X +B Y +A X +C X +C Z +A X +A X +C Z +A X +C X +A X +A X +A X +C Z +A X +A X +B Y +A X +C X +B Y +A X +B Y +A X +A X +A X +A X +C Z +B Y +A X +A X +A X +A X +A X +A X +C X +A X +A X +B Y +A X +B Y +A X +A X +C X +A X +A X +A X +A X +C Z +B Y +C Z +C X +A Y +A X +A X +A X +C X +A Y +A X +A X +A X +A X +A X +C Z +A X +A X +A X +B Y +A Z +A X +A X +C Z +B X +A Z +A X +B Y +B Y +B Y +B Y +B Y +A X +B Y +A X +A X +A Z +B X +B Y +A X +C Y +A X +A X +A X +A X +B Y +C X +A Y +A X +A X +B Z +A X +B Y +A Z +A Y +A X +A X +C X +A Y +C X +A X +A Y +A X +B Y +C X +A X +C Z +A X +A X +A X +A X +A X +B X +C Y +B Y +A X +C X +C X +A X +C X +C Z +A X +A X +A X +B Y +C X +B Y +B Y +A X +A X +C X +A X +C Z +A X +A Y +A X +B Y +A X +A X +A X +A X +C Z +A X +B Y +B Y +A X +B Y +A X +A Z +A X +C Y +B Y +A X +A X +C X +B Y +B Y +A Y +A X +C Y +B Y +A Y +A X +A Z +C Y +A X +A X +A Y +C X +C Y +A X +B Y +A X +A X +C Z +A Z +C Z +A Y +A X +A X +C X +C Z +A Z +B Y +B Y +B Y +A X +A Z +C X +A X +A X +B Y +A X +A X +C Z +A Y +A Y +C Z +A X +A X +C Y +B Z +A Y +A Z +A X +C X +A X +A X +A X +A X +B Y +B Y +C Z +A X +C X +B Y +A X +A X +A X +A X +A X +A X +A X +A X +C Z +A Y +C X +C Z +A X +A X +A Y +A X +A X +C X +C X +B Y +A X +B Y +B Y +A Z +A X +A Y +A Y +A X +A X +A X +B Y +B X +A X +B Y +B Y +A X +A Y +A Y +A X +C Z +A X +A X +A Z +C Z +B Z +A X +A X +A X +A Y +C X +A X +B Y +A X +B Z +A Y +A X +B Y +A X +C X +A X +B Y +A X +C X +C X +C Z +A X +A X +C Y +A X +B Y +A X +B X +A X +B X +A X +A Y +A X +C X +C X +A X +A X +A Y +A X +A X +C X +A X +B Y +A X +A X +C Y +A X +A X +A X +C X +A X +B Z +A X +A Z +A X +A X +A Z +A X +A X +A X +A Y +B Y +A X +A X +A X +B Z +B Y +A Z +B X +B Y +A X +C X +B Y +A X +A X +B Y +A X +C X +A Z +A X +A Z +A Z +B Y +A X +C X +C Z +A X +B Y +A X +B Y +C Z +A X +C Z +B Y +C X +C X +C Z +B Y +A X +B Y +C X +C X +A X +B Y +A X +A X +A Y +C Z +B Y +A X +A Z +A Y +A X +A Y +C X +A X +A X +A X +C X +A X +A X +A X +B Y +C Y +B Y +A X +B Y +B Y +A X +A X +A X +A X +A X +C Z +B Y +B X +B Y +A X +A Z +A X +A X +B Y +B Y +C X +C Z +A X +C Z +B Y +A Z +A X +A X +A X +A X +B Z +B Y +A X +A X +A X +A X +A X +B Y +B X +B Y +C X +B Y +C X +B Y +A X +A X +B Y +A X +C Z +B Y +C X +A Z +B Y +B Y +A X +B Y +A X +A Y +B Y +B Y +B Z +C Z +A X +C X +A Y +B X +A X +A X +A X +C Z +B Y +B Y +A Y +B Y +A X +B Y +A X +C X +A X +A X +A X +A Y +A Y +A Z +A X +B Y +A X +A X +A X +A X +A X +A X +A Z +A X +A X +B Y +C Z +C X +C Z +B Y +A X +A Z +A Z +A Y +B X +A X +A X +C Y +A Z +A X +A X +B Y +A X +B X +A Z +A X +A X +A X +A X +A Y +A X +A Z +A X +B Y +B Z +C Z +A Y +B Y +A Y +C X +B Y +B Y +A Z +A X +A X +A Y +A X +A X +A X +A X +C Z +B X +A X +B Y +C X +A X +A X +C X +B Y +C Z +C Z +B Y +C X +A X +C Z +B Y +A X +C Z +A Y +B Y +A X +A Z +A Z +B Z +A X +A Z +A X +C Z +C X +A X +C X +A Y +C X +A X +A X +A Z +B Z +B Y +B Y +A X +A X +A X +A Z +A X +B Y +C Z +A X +A X +A Z +A X +B Y +B Y +C X +A X +A X +A X +C Z +C X +B Y +A X +A X +B Y +C Z +B Y +A Y +A X +C X +A Z +A X +A X +A X +C X +A X +A X +A X +A X +C Z +B Y +A X +A X +C Z +C X +B Y +B Y +C X +B Y +A X +A X +A X +C X +A X +A X +A Z +A X +A X +B Z +A X +C X +B Y +A Z +B Y +A X +A X +B Z +A X +A X +A X +B Y +A X +A X +A X +A X +B Y +A Y +A X +B X +A X +A X +A X +A X +C Z +B Y +A X +C Z +C Z +B Y +C Z +A X +A Y +B Y +B Y +A X +A X +A X +A X +A X +A X +B Y +A Y +B Y +A X +B Y +B Y +B Z +A Y +B Y +C Z +A X +A X +B Y +A X +A X +A X +A Y +A X +A X +B Y +A Y +A X +A X +A X +B Y +A X +C X +A X +C X +B Y +C X +A X +B Y +A Z +A X +A X +B Y +A X +A X +A X +B X +A X +A X +A X +B Y +A Z +B Y +B Y +C X +C X +B Y +A Y +A X +B Y +A X +B Z +A X +A X +B Y +A Y +A X +A Y +A X +C Z +A X +C Z +B Y +A Y +B Y +A X +A Z +A X +B Y +B X +B Y +A X +A Y +A X +A X +A X +A X +C X +A X +B Y +C X +A Y +B Y +B Y +A X +A X +C Z +A X +C X +B Y +A X +A X +B Y +A Y +A X +A Z +A X +C X +B Y +B Y +C X +A X +B Y +A X +B Y +C X +A X +B Y +A X +A Z +A X +C X +A Z +A X +A X +A Y +A X +A X +A X +A Y +A X +A X +A X +A X +A X +B Y +C X +C Z +C X +A X +B Y +C Z +B X +A X +A X +B Y +A X +A X +C Z +C X +C X +A X +A Y +B Y +A Y +C X +B Y +A X +A X +A Y +A X +A X +B X +C X +A Y +B Y +B Y +A X +B Y +A X +A Y +A X +A X +B Y +B Y +A X +B Y +A X +C X +C X +C Z +A X +A X +A X +B Y +C X +A X +A X +B Y +A X +C X +A Y +A X +A X +A X +C X +A X +A Z +A X +A X +A X +A Y +C Z +A Y +A X +B Z +A X +A X +B Y +C Z +A X +B Y +B Y +A X +B Y +A Y +A X +B Y +B Y +A X +C Z +B Y +A X +B Z +C Z +B Y +A X +C Z +A X +A X +A Z +A X +A X +A X +A X +A X +A X +C Z +A X +A X +B X +A X +A X +A X +A Z +A X +C X +A X +C Y +A X +B X +C X +A X +B Y +B Y +A X +C X +A X +A X +A X +A Y +A X +B Y +C Z +B Y +A Z +A X +A X +A Z +C Z +C X +C X +B Y +C X +A X +A X +A X +A X +B Y +A X +A X +A Y +C X +A X +C X +A X +A X +A X +C X +C X +A X +A X +B Y +A X +A X +A X +A Y +B Y +A X +A X +C X +A X +B Y +C X +C Y +C X +B Y +B Z +A X +A X +A Z +C X +A X +A X +A X +A X +A X +B Z +A Z +A X +A X +A X +A X +A Y +A X +C X +A Z +A X +A Z +C X +A X +A X +A X +A Z +A Y +A X +C Z +A X +A X +B Y +A X +A X +A X +A Y +B Y +A X +B Y +B Y +C Z +B Y +A X +A X +A X +A X +A X +A X +A Y +A X +A X +B Y +A Y +A X +A X +C X +A X +B Y +A X +B Y +A X +A X +C X +A Y +A X +C X +B Y +C X +A X +A X +A X +C X +A X +A X +A X +C Z +A X +A X +B Y +A X +A X +A X +A X +C Z +A X +C Z +B Y +C X +A X +A Y +A X +A Z +A X +C X +C Z +A X +C X +A X +A X +A X +A X +C Z +B Y +A X +C X +B Y +C X +C Z +C Z +C X +C Z +C Z +A Y +A Z +C Z +A X +A Y +A Y +A X +A X +B Y +A X +B Y +A X +A Y +C X +A X +A X +A X +C Z +C Z +B Y +A X +B Y +C X +A X +A X +A X +A Y +B Y +A X +C X +C Y +C X +A X +A X +C Z +B Y +A X +B Y +A X +A X +C Z +B Y +A X +A Z +C Y +A Z +A X +C X +A Y +A X +C Z +C X +A X +A X +A X +A X +A X +A X +A X +A Y +A X +A X +A X +C X +C X +B Y +B Y +A X +B Y +A X +C X +C Z +C X +B Y +C X +B Y +B Y +A X +B X +C Z +A X +A X +B Y +A X +B Y +A X +B Y +A X +A X +A X +A X +A X +A X +A X +A X +A X +C Z +A X +A X +A X +A X +B Y +A X +B Y +B Y +C Y +B Y +A X +B Y +B Y +C X +C Z +C X +C Z +A X +C X +A X +A X +A Y +A X +B Y +A X +B Y +B Y +B Y +A X +A X +A X +A X +A X +B Y +A X +C X +B Y +C X +A X +A X +C X +B Y +C Z +C X +B Y +A X +A X +B Y +A X +A X +A Y +C Z +A X +B Y +B Y +A X +B Y +C Z +A Z +A Y +A X +B Y +A Y +B Y +B Y +C Z +A Y +A X +A Y +B Y +A X +A X +C Z +A X +B Y +A X +B Y +B Y +A X +A X +A X +B Y +B Y +A X +A X +C X +B Z +A X +B X +B Y +C Z +B Y +C Z +C Z +A X +A Z +A X +A X +A X +A X +A X +B Z +B Y +C X +A X +A X +B Y +C X +C Z +B Y +C X +B Y +A X +A X +C Z +A X +A Y +B Y +A X +A X +A X +A X +A X +A X +A X +B Y +A Y +B Y +B Y +A X +B Y +A Z +B Y +A X +A X +A X +C Z +C X +C X +B Y +A X +C Z +C X +A X +A X +C Z +A X +A X +A Z +C Z +B Y +C X +A X +A X +B Y +A Y +A X +A Z +C Z +A X +C Y +A X +B Y +A X +B Z +A X +A X +A X +A Y +C X +A X +A Z +B Y +A X +A X +B Y +C X +C Z +A Y +C Z +A Z +B Y +A X +A X +C Z +A Z +C X +A X +A Y +A X +A X +A Y +A X +A X +A Z +A X +A X +A Y +C X +A X +A X +A Y +B Y +A X +B Y +B Y +A X +C X +A X +A X +C X +A Y +A X +A X +B Y +A X +C X +C Z +B Y +C X +A Y +A Y +A X +A X +A X +B Y +B Z +A X +A X +B Y +B Y +B Y +C Z +B Y +B Y +A X +B Z +A X +A X +A X +A X +B Y +A X +C X +B Y +B Y +A X +A X +B Y +B Y +B X +A X +A X +A X +A X +C Z +A X +A X +B Y +A X +A X +B Y +C X +B Y +A X +A X +B Y +A X +A X +A X +C Z +B Y +B Y +A Y +B X +A X +B Y +C Z +A X +A X +C Z +A X +A X +A Y +C X +A X +C X +A Y +A Y +A X +A Z +A X +C X +C Z +C X +B Y +A X +C Z +A Z +B X +B Y +C Z +C X +C X +B Y +A Y +B Y +A X +A X +A Z +B Y +A X +A X +A Y +A X +A X +B Y +B Z +B Y +A X +A X +A Y +A X +A X +A Y +B Y +C Z +C Z +C Z +B Y +A X +A X +B Y +C X +A X +A X +A Y +A X +B Y +B X +A X +C Z +A X +A X +A X +A Y +A X +C X +A X +A X +C Z +A X +A X +A X +A X +A Z +B Y +A X +A X +C X +C X +C X +B Y +A X +A X +A X +B Y +B Y +A X +C X +C Y +A X +A X +A X +B Y +B Y +A X +A X +A Z +A X +A Y +A X +B Y +A Z +B Y +C X +A Z +C X +B Y +A X +A X +B Y +A X +C Z +B Y +B Y +A X +B X +A X +B Y +B Y +A X +A X +A X +A X +A Y +B Y +A Y +B Y +B Y +C X +A Z +A X +A X +A X +A X +C Z +A X +A X +C X +C X +A Z +A X +A Z +C X +C Z +B Y +B Y +A Z +B Y +B Y +B Y +A X +C X +C X +A Y +B Y +A X +A X +A X +B Y +C Z +C X +A Z +A X +C Z +A X +A X +C X +A X +B Y +A X +A Z +B Y +A X +A X +A X +C X +A X +A X +A X +A X +A X +A X +B Y +B Y +B Y +B X +A X +A Z +C X +A X +B Y +A X +A X +C Z +C X +B Y +A X +A X +A X +C X +A X +A X +B Y +A X +C Y +A Y +A Z +B Y +A Y +B Y +B Y +A X +A X +A X +A X +A X +A X +A Y +A X +C X +C X +C X +C Z +A Z +A X +B Z +B Y +B Y +A Z +A X +A X +C Z +B Y +B Y +C X +A X +B Y +B Y +A X +C X +C Z +B Y +B Y +B Y +A X +B Y +B Y +A X +A X +A X +A X +B Y +B Y +B Y +A X +A X +A X +B Y +B Y +A X +A X +C X +A Y +B Z +C X +A X +A Y +A X +A X +C Z +A X +C X +B Y +A X +C Z +C Y +A X +C Z +A Z +C Z +C X +B Y +B Y +A X +B Z +A X +A X +B X +A X +A X +A X +A X +C Z +C X +A X +B Y +A X +C X +A X +B Y +C Z +A X +C X +A Y +A X +A X +A X +A X +A X +B Y +B Y +A X +A X +B Y +B Y +C Z +C X +A X +A X +B Z +A X +A X +A Z +A X +A X +A X +A X +C X +A X +A X +A X +B Z +C Z +B Y +B Y +C Z +C X +A X +A X +B Y +A X +A X +B Y +A X +A Y +C X +B Y +A X +C X +A X +B Y +C X +B Y +A X +C X +A X +A X +C X +A X +C X +A X +C X +A X +A X +B Y +A X +A X +A X +A X +A X +A X +A X +A Y +A X +A X +C X +B Y +C Z +A X +B Y +A X +B Y +C Z +C Z +B Y +A X +A X +A X +A X +A Y +A X +A Z +A X +C Y +C X +C Z +A X +A X +A X +A X +A X +C Z +C X +A X +A X +B Z +A X +C X +A Z +B Y +C Z +A X +A X +A Z +B Y +A X +B Z +A X +A X +A Y +A X +A X +C Z +A X +B Y +B X +A X +C X +A X +C X +B Y +A X +A X +B Z +A X +A X +B Y +B Y +A Z +C X +A X +A X +A Z +A X +A Z +A X +A X +A X +B Y +A X +C X +C X +A Z +B Y +B Y +A X +A X +A X +A X +A X +A X +C X +A X +A Y +C X +A X +A X +A X +C X +A X +A X +A X +A X +A X +B Z +A X +A X +C Y +B Y +C X +A X +A X +A X +A X +A X +C X +A Y +B Y +A X +A X +A X +A Y +A X +C X +A Z +A X +C Z +C X +A X +A X +A X +A X +C X +C X +B Y +A Z +A Y +B Y +C X +C Z +B Y +B Y +A X +C X +A X +A Y +B Y +A X +C X +C X +B Y +A X +B Y +A Y +A X +B X +A X +A X +B Y +A X +B X +B Y +A X +C Z +A X +A Z +A X +A X +C X +A Y +A X +C X +A X +A X +A X diff --git a/2022/day-02/prob1.py b/2022/day-02/prob1.py new file mode 100644 index 0000000..1952d47 --- /dev/null +++ b/2022/day-02/prob1.py @@ -0,0 +1,29 @@ + +scores = { + "A": 1, + "B": 2, + "C": 3, + + "X": 1, + "Y": 2, + "Z": 3 +} + + +score = 0 +with open("input.txt", "r") as f: + for line in f.readlines(): + m, t = line.strip().split(" ") + m, t = scores[m], scores[t] + draw = t == m + win = (t - m) % 3 == 1 + loss = (m - t) % 3 == 1 + if win: + score += t + 6 + if draw: + score += t + 3 + if loss: + score += t + + +print(score) diff --git a/2022/day-02/prob2.py b/2022/day-02/prob2.py new file mode 100644 index 0000000..b49f56a --- /dev/null +++ b/2022/day-02/prob2.py @@ -0,0 +1,35 @@ + +scores = { + "A": 1, + "B": 2, + "C": 3, + + "X": 1, + "Y": 2, + "Z": 3 +} + + +score = 0 +with open("input.txt", "r") as f: + for line in f.readlines(): + m, t = line.strip().split(" ") + m, t = scores[m], scores[t] + + loss = t == 1 + draw = t == 2 + win = t == 3 + + chosen = (m + t) % 3 + 1 + + print(chosen) + + if win: + score += chosen + 6 + if draw: + score += chosen + 3 + if loss: + score += chosen + + +print(score)