1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # https://adventofcode.com/2022/day/2
-
- MOVE_SCORES = {
- "A": 1,
- "B": 2,
- "C": 3,
- "X": 0,
- "Y": 3,
- "Z": 6
- }
-
- MOVE_BEATS = {
- "A": "C",
- "B": "A",
- "C": "B"
- }
-
- MOVE_LOSES = {
- "A": "B",
- "B": "C",
- "C": "A"
- }
-
- def main():
- with open("input2.txt", "r") as file:
- moves = [line.strip() for line in file.readlines()]
-
- # moves = [(x, y) for line in inlines for x, y in line.split(" ")]
-
- scores = []
- for move in moves:
- (theirs, mine) = move.split(" ")
- cur_score = MOVE_SCORES[mine]
-
- if mine == "X":
- # Have to lose.
- # Add the score of the move that their move beats.
- cur_score += MOVE_SCORES[MOVE_BEATS[theirs]]
- elif mine == "Y":
- # Have to tie.
- # Add the score of the move that they made.
- cur_score += MOVE_SCORES[theirs]
- elif mine == "Z":
- # Have to win.
- # Add the score of the move that theirs loses to.
- cur_score += MOVE_SCORES[MOVE_LOSES[theirs]]
-
- scores.append(cur_score)
-
- print(sum(scores))
-
- if __name__ == "__main__":
- main()
|