67 lines
1.1 KiB
Python
Executable File
67 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# lose: 0
|
|
# draw: 3
|
|
# win: 6
|
|
|
|
# x: need to lose
|
|
# y: need to draw
|
|
# z: need to win
|
|
|
|
ROCK = 'A'
|
|
PAPER = 'B'
|
|
SCISSORS = 'C'
|
|
|
|
LOSE = 'X'
|
|
DRAW = 'Y'
|
|
WIN = 'Z'
|
|
|
|
outcomes = {
|
|
ROCK: { # rock: 1
|
|
ROCK: 1 + 3, # rock
|
|
PAPER: 2 + 6, # paper
|
|
SCISSORS: 3 + 0 # scissors
|
|
},
|
|
PAPER: { # paper: 2
|
|
ROCK: 1 + 0, # rock
|
|
PAPER: 2 + 3, # paper
|
|
SCISSORS: 3 + 6 # scissors
|
|
},
|
|
SCISSORS: { # scissors: 3
|
|
ROCK: 1 + 6, # rock
|
|
PAPER: 2 + 0, # paper
|
|
SCISSORS: 3 + 3 # scissors
|
|
}
|
|
}
|
|
|
|
strategies = {
|
|
ROCK: {
|
|
LOSE: SCISSORS,
|
|
DRAW: ROCK,
|
|
WIN: PAPER
|
|
},
|
|
PAPER: {
|
|
LOSE: ROCK,
|
|
DRAW: PAPER,
|
|
WIN: SCISSORS
|
|
},
|
|
SCISSORS: {
|
|
LOSE: PAPER,
|
|
DRAW: SCISSORS,
|
|
WIN: ROCK
|
|
}
|
|
}
|
|
|
|
score = 0
|
|
|
|
with open('input') as f:
|
|
for line in f:
|
|
parts = line.rstrip().split(" ")
|
|
|
|
oppo_move = parts[0]
|
|
our_move = strategies[oppo_move][parts[1]]
|
|
score = score + outcomes[oppo_move][our_move]
|
|
|
|
print(score)
|
|
|