AOC/2022/day02/main.py
2024-08-29 17:12:29 +02:00

2521 lines
10 KiB
Python

a ="""A Z
A Z
C Y
A X
A X
A Z
C X
A X
C Y
A Z
B Y
B Y
C X
C Y
C X
B Y
A Y
C Y
B Y
B Z
B Y
C X
A Z
C Y
B Y
B Y
A Z
B Y
B Y
B Y
B Z
B Y
A Z
B Y
C Y
B Y
B Z
C X
B Z
A X
B Y
B Z
C Y
A Z
C Y
A Z
B Y
C Y
A Z
A Z
B Y
C Y
C X
A Z
B Z
A Z
B Y
C X
B Y
B Y
B Y
A Y
B Z
C Y
C X
A Z
B Y
B Y
B X
A Z
C X
B Y
B Y
A Z
A Z
A X
A X
B Y
C X
A X
A Z
A Z
B Y
C Y
B Z
A X
B Z
A Z
B Y
A Z
C Y
A Z
A X
B Y
C Y
B Y
A X
B Z
C Y
B Y
B Y
A Z
A X
A X
B Y
C Y
B X
B Z
C X
B Y
A Y
B Y
B Y
B Y
A X
C Y
A Z
C Y
C Y
B Z
B Y
A Z
A Z
A Z
B Y
C Y
B Z
C X
C Y
B Z
A X
A Z
C Y
B Y
C Y
C Y
C Y
B Y
B X
B Y
B Y
C Y
A X
B Z
B X
C X
B X
C Y
B Z
B Y
A X
C Y
C Y
C X
B Z
B Y
A Y
B Z
A Z
B Y
B Y
B Z
B Z
C Y
A Z
A X
A X
C Y
B Y
A Z
B Z
A X
A Z
B Z
C Y
C Z
A X
A Y
B Y
C Y
B Y
C Y
B Z
B Y
A Z
C Y
B Z
B Y
A Z
A Y
B Y
B Y
C Y
A Z
C Y
B Y
B Y
A X
A Z
A Z
B Y
B Y
B Z
C Y
C X
B Z
A Y
B Z
A X
C X
A Y
B Z
B Z
A X
C X
C X
A Z
C Y
A X
A X
C X
A X
B Z
C Z
B Z
B Y
B Y
A Z
A Z
B Y
A Z
C Y
C X
B Y
A X
A X
B Z
C Y
C Y
A X
B Z
A X
C X
C X
B Z
C X
B Z
A X
A Y
A X
A Z
A X
B Y
C Y
A X
C Y
A Z
B Z
A Z
C Y
A X
A Z
B Y
A Z
B Z
B Z
A Z
B Z
A X
B Y
B Z
C X
B Y
B Y
B Y
B Y
A X
B Z
B Z
A Z
A Z
C Y
B Y
C X
A X
B Y
B Y
C X
B Y
A X
C Y
A Z
B Y
A Y
B Z
B Y
A Z
A X
B Z
C Y
A Z
C Y
C X
B Y
B Z
C X
A Y
B Z
A Y
B Z
B Z
B Y
B Z
C X
B Y
A X
B Z
A Z
B Y
A Z
C Y
C Y
C X
C X
A X
C X
A X
A X
B Z
B Y
B Y
B Y
B Y
C X
C X
A Z
A Z
C X
C X
C Y
C Y
C Y
B Y
A Z
C Y
B Z
B Z
B Y
C X
C X
C Y
C Y
C X
B Z
B Z
B Y
C Y
B Y
A Z
C Y
A X
B Y
C Y
C Y
C Y
B Y
A Z
B Y
A X
B Z
C X
A Z
C X
A Z
B Z
C Y
C Y
C Y
C X
B Z
C X
B Y
B Z
C X
B X
A Z
B Z
B Y
C Y
B Z
C Y
A X
B Z
C Y
C Y
B Z
B Y
C Y
B Z
C Y
A Z
C X
C X
C Y
A Z
C Z
C Y
B Y
C Y
B Y
B Y
B Z
C X
C X
B Z
B Z
B Z
A Z
B Y
B Y
A X
B Y
C Y
B Y
C X
C X
B Y
B Y
A Y
B Z
B Y
B Y
C Y
A Z
C X
A Y
B Y
B Z
B Y
A Y
C Y
A Y
A Z
B Y
A Z
C Y
C Y
B Y
A Z
B Y
B Y
A Z
B Z
B Y
C X
C Y
B Z
B Y
B Y
A Z
C Z
A Z
A X
C X
B Z
B Z
C X
C Y
B Y
B X
A X
C Y
B Z
B Y
C X
B Y
A Z
A Z
A X
C Y
B Z
B Y
C X
C X
B Y
A Z
C Z
B Y
A Z
C Y
B Y
C X
A Z
A Z
A X
C X
A X
C X
C X
A Z
C X
B Y
A Z
B Y
B Y
C Y
C X
A Z
B Z
B Y
B Y
A Y
A Z
B Y
A Z
B Z
B Y
C Y
A Z
B Y
B Y
B Y
C Y
C X
A X
A Z
B Z
B Y
C Y
B Z
C X
B Y
C X
A Z
B Y
B X
B Y
A Y
A X
A X
C X
C X
B Y
B X
C Y
A Z
B Z
C Y
C Y
B Y
A Z
C X
A Z
C Y
B Z
B X
C X
B X
C X
B Y
C Y
C Y
B Z
B Y
B Z
B Z
A Z
B Y
A Y
B Z
C X
C Y
C X
A Z
B Z
C Y
B Y
B Z
C X
B Y
A Y
A X
A X
C Y
B X
C X
B Z
A Z
A Y
B Z
C X
C X
B Y
A X
B Z
C Y
B X
B Z
C Y
B Y
C Y
B Z
B Y
B Z
B Y
C X
B Y
C X
B Z
B Z
C X
B Z
A X
B X
B Y
A X
B Z
C X
B Z
B Y
B Y
C X
A Y
B Z
B Z
B Y
B Y
B Z
C Y
B Z
C Y
C X
A Z
C X
A X
C Y
B Y
C X
A Z
B Y
A Z
A Z
B X
C Y
B Z
C Y
B Y
B Z
A X
B Z
A X
C X
B Z
B Y
C X
C Y
C Y
B X
C X
C X
B Z
C Y
B Z
B Y
B Z
C Y
B Y
C Y
C X
B Y
B Y
B Z
A Z
C X
A Z
B Y
B Z
A Z
C Y
A Z
B Y
A Z
A Z
C Y
A Y
B Y
A Y
C X
B Y
C X
B Z
C Y
A Z
C X
C X
B Z
C Z
C Z
B Y
B Y
C Y
C Y
A Z
C Y
C Y
C Y
A Z
B Z
C Y
B Y
C Y
C X
C X
B X
B Y
C Y
A Y
B Y
B Z
B Y
A Y
B Y
B X
C X
C Z
C Y
C Y
C Y
B Z
B X
C Y
B Z
C X
C Y
A Z
A Y
B Y
C X
A Z
B Y
C Y
B Z
A Z
A Z
B Y
A Z
C Y
A X
C Y
B Z
B Z
B Z
B Y
B Y
A Z
A Z
B Y
C X
A Z
C Y
B Y
A Z
C Y
A Z
B Z
B Z
A Y
B Y
B Y
B Z
C Z
B Y
B X
B Y
C X
B Z
C Y
B Z
A Y
B Z
A Z
A X
A Z
C X
C X
B Y
C X
C Y
A Z
B Z
B Y
A Z
B Z
B Z
B Z
C Y
B Y
A X
C Y
C Y
C X
A X
C Y
B Y
C X
B Z
A Y
B X
B Y
A Z
B Y
B Y
B Y
B Z
C X
B Z
B Z
C X
B Y
A Y
B Y
C Y
A Z
C Z
B Y
B Z
B Z
C Y
A Z
C Y
C X
C Y
B Y
A X
A X
B Z
C Y
B Z
B Y
A Y
C X
A Z
B Z
C Y
C Z
C X
B Y
C X
A Y
A Y
B Z
C X
B X
C X
B Y
B Z
B Z
B Y
C Y
B Y
B Y
A Z
B Z
B Y
C X
B Z
B Y
B Y
C Y
C Z
C X
B Y
A X
C Y
C X
B Z
C Y
A X
B Y
A Y
B Y
C X
C Y
C X
A X
B Z
C X
B Y
A Z
C X
B Y
A Z
B Y
B Y
B Y
A Z
A X
C X
C Y
C Y
B Y
B Y
B Z
A Y
C X
C X
B Y
B Y
B Z
A X
C X
C X
B X
A X
B Z
B Y
C X
A X
B Y
C Y
A X
B Y
C X
B Z
C Z
B X
C Y
B Y
C Y
A Z
C Y
B Z
C X
B Z
C X
C Y
C X
C Y
C Z
C X
C X
B Y
C Y
C X
C X
B Z
B Z
A X
C Y
C Z
B Y
C Z
C Y
C X
C X
B Y
C Y
A Y
B Y
A Y
B Y
B Y
B Y
C Y
C Z
B Y
C X
C X
B Z
B Y
B Z
C Y
B Z
C X
B Z
B Y
B Y
A Z
A X
B X
A X
C X
C Y
B Y
A X
B Z
B Y
B Y
A X
C X
C X
B Y
B Y
C Y
C Y
B Z
B Y
B Y
B Y
C Y
A X
B Y
C Y
B Z
B Y
B Y
B Z
B Y
B Y
B Z
B Y
B Y
C Y
A Z
B Z
A Y
B Y
C Y
B Z
B Y
B Y
C X
A X
C Z
C X
B Y
B Z
C Y
C X
B Z
A Z
A Z
C Y
A Z
B Y
B Y
B Z
B Y
C Y
B Z
C Y
B Z
B Z
B Y
C X
B Y
B Z
A X
C X
C X
B Z
B Z
C X
B Y
A Z
B Y
B Z
C Y
B Y
A Z
B Z
B Y
B Y
B Y
C X
C Y
A Z
B Y
B Y
A Z
A Z
A Z
A X
B X
A Z
C Y
C X
A X
B Z
A X
C X
B Z
B Y
B Y
C X
A Z
C Y
C X
A Y
C X
A Z
B Z
B Z
B Y
C Y
B Z
A Z
A Z
C Y
B Y
B Z
A Z
A Z
B Z
B Y
A Z
C Y
A Z
A Z
B Y
B Z
B Z
A X
A X
B Y
B Z
B Z
C X
B Z
C Z
B Y
B Y
B Y
B Z
A X
A Z
B Y
A X
B Y
B Y
C X
C X
C Y
C Y
A Z
A X
B Y
A Z
B Z
B Y
C X
B Y
B X
C X
A X
A Z
C Y
C X
C Y
B Y
B Y
A X
A Y
B Y
A Y
C Y
C X
B Y
B Y
B Z
C X
C X
B Y
C X
B Z
C Y
A X
A Z
A Z
B Y
A Y
C Y
C X
C Y
C Y
B Y
B Y
A Z
C X
A X
B Y
B Y
B Y
B Z
A Z
B Y
B Y
A Z
B Y
A Z
C X
B Z
C Y
B Y
B Y
A X
B Y
A X
B Y
B Z
C X
B Z
B Y
C X
C Y
C Y
A X
A X
B Z
B Z
B Y
C X
A Z
C Y
C Y
C Y
B Z
B Z
B Y
A Z
C Y
A X
A Z
C Y
B Z
B Y
B Y
A Z
B Y
A Z
C X
A X
B Z
B Y
B Y
B Z
A Z
C X
B Y
C X
B Z
C X
A Z
B Y
A Z
A Z
B Y
C Y
C X
C Y
A X
C Y
B Y
B Z
C X
C Y
A X
B Z
B Y
C Y
A X
B Z
A Y
B Z
B Y
B Z
A X
A Z
A X
B Z
C Y
B Y
A Y
B Z
A Z
C Y
C X
B Z
B Y
C Y
B Z
C X
C Y
A X
B Z
B Z
B Z
B Z
B Y
C X
B Y
C X
A Z
A Z
C Y
A Y
B Y
C X
A Z
B Z
C X
C X
A X
B Y
C X
A Z
B Y
B Y
B Y
B Y
C X
C Y
C Y
B Y
A Z
B Y
B Z
B Z
B Y
A X
B Z
B Z
C X
C X
C Y
B Y
C Y
B Y
B Y
B Z
B X
C X
C Y
A Z
B Z
B Y
A X
B Z
A Z
B Z
B Y
B Y
A Z
C Y
B Y
C Y
B Z
B Y
C X
B Z
B Z
C Y
C Y
B Y
C Y
C X
B X
B Y
C Y
B Y
B X
C X
B Y
A Y
A Z
A Y
B Z
A Z
A Z
A Z
B Y
A Z
A Z
C Y
B Z
A Z
A X
B Y
C Y
C X
C X
A Z
B Z
B X
B Z
C X
B Z
C Y
C X
C Z
C X
B Z
B Z
B Z
B Z
A Z
A Z
C Y
C Z
C Y
A X
B Y
B Y
B Y
A Z
A Z
B Z
C Y
C X
B Y
C X
B Z
B Y
B Y
B Y
B Y
B Y
B X
A Z
A X
A Y
C X
B Z
B Y
B Z
C Y
A Z
B Z
B Z
C Y
B Z
B Z
C X
B Y
C X
B Z
C X
C Y
C Y
C X
A Z
A Z
B Z
B Y
C X
C X
A Y
A Z
C X
A X
A X
A Z
C Y
B Z
B Y
A Z
B Y
B Y
B Z
B Y
C Y
B Z
A X
B Y
A X
B Z
A Z
C X
A X
C Z
A Z
C Y
A X
B Y
B Z
B Z
A X
C Y
A Z
C X
A Y
C X
B Y
B Z
A X
B Y
B Y
A Y
A X
B Y
C X
A Y
B Y
B Y
C Y
A Z
B Z
A Z
B Y
A Z
C Y
C X
B Z
B Y
B Z
A X
C Y
C Z
A X
A X
C Y
C Y
A Z
C Y
C X
A Y
C Y
B Y
B X
B Y
A Z
C X
C X
B Y
A Z
A X
B Z
C X
B Y
B Y
C Z
A X
A X
B Z
C X
C Y
B Z
C Z
B Y
A Y
A Z
A Y
C Y
C Y
C Y
B Z
B Z
B Y
B Y
B Y
B Z
B Z
C X
A X
C X
B Y
B Y
B Y
C Y
B Y
B Y
C X
A Y
B Z
C X
B Z
B Y
A X
C Y
B Y
C Y
B Z
B Y
C Y
C Z
C Y
A Y
B Z
A X
B Z
A Z
A Z
A Z
B Y
A X
C Y
B Y
B Y
B Y
C X
B Y
A X
C X
B Y
C X
A Z
B Z
B Z
B Y
C Y
B Y
A Z
B Y
C Y
B Z
C X
B Y
B Y
B Z
C X
C Y
B Z
B Z
C Y
C X
C X
B Y
B Z
A X
C X
A Z
A Y
B Z
B Y
B Y
C Y
C X
B Y
B Z
C Y
C Y
C X
C X
B Z
A Z
B Z
B Y
C X
A X
C X
A Z
C X
B Z
C Z
B Y
C Y
B Y
C Z
A Z
B Y
C Z
A X
B Z
B X
C Y
C X
B Z
A Z
B Y
A X
B X
A Z
C Y
A Y
A Z
A X
C X
A Y
C X
B X
B Y
C Z
A Z
C X
B Y
C X
C X
B X
B Y
A Y
B Y
B Y
A Z
B Y
C Y
C X
B Y
B Y
B Z
C Y
B Z
A Z
A Z
A X
B Y
C Y
B Y
C Y
C Y
B Z
A X
C Y
B Z
C Y
A Y
B Y
B Y
B Y
C Y
A Z
A Z
B Z
A Z
C Y
C Y
B Y
C X
B Y
A Z
B Z
A X
B Z
B Y
B Z
A X
A X
C Y
A Z
B Z
C Y
B Z
C X
B Z
A X
B Z
B Z
C Y
B Y
B Y
C Y
B Y
A X
B Y
C Y
A Z
B Y
C X
A Z
B Z
A Z
B Z
C Y
B Y
B Y
B Y
C Y
B Y
B Y
A Z
B Y
B Z
C X
B Z
C X
C X
A X
B Z
C Z
B Z
A Y
C X
C X
A Z
A X
A Y
A X
B Y
B Y
C X
C Z
A Y
C Y
B Y
B Y
C X
C X
B Z
B Z
B Y
C Y
A Z
B Y
C X
C X
A X
A X
A Y
B Y
C X
A Z
C Z
C Y
C Y
C Y
B Y
C Y
A Y
A X
B X
B Y
B Y
B Y
B Y
A Z
B Z
B Y
B Y
C Y
A X
A Z
A Z
A Z
B Y
A X
C Y
C Y
B Y
B Y
C Y
A Z
C Y
A X
C X
B Z
B Y
C X
B Y
A X
A Z
C X
C Y
C Y
C X
C X
B Z
B Y
A Z
B Y
B Z
B Z
B Y
B Y
A X
C X
C Y
C X
A Z
B Z
B Y
B Y
C Y
A X
A X
C Y
C X
B Z
A Y
B Y
B Z
B Y
A X
C Y
B Y
A X
C X
B Y
B Y
A Z
A Z
A Z
B Y
B Y
C X
B Z
A Z
B Z
A Z
C X
B Y
C X
B Y
C X
C X
B Y
B Y
A Y
C Y
C Y
B Z
C X
B Y
B Y
A X
A Z
B Y
C Y
B Y
C Y
A X
C Y
C Y
B Z
C Y
A X
C X
A Z
C Y
A Z
C X
B Z
B Y
B Z
C Y
B X
A Z
C Y
C X
B Y
C X
B Z
A X
A Z
C X
B Z
C X
B Y
A Z
B Y
C Y
B Y
C X
C Y
B X
B X
B Y
B Y
B Y
B Z
B Y
C X
A Z
A Z
C X
B Y
B Y
B Y
A Y
C Y
B Z
C X
C Y
A X
C Y
B Z
C Y
B Y
B Y
B Z
A Z
A Z
B Y
A Y
B Z
A X
C Y
B Y
A X
C X
B Y
C Y
B Z
B Y
C X
A Z
C Y
A Z
B Y
C Y
B Y
C X
A Z
C Y
C Y
A Y
B Z
C X
C X
A Z
C Z
C X
B Y
C X
A X
C Y
C X
C X
A X
A Y
A X
C X
A X
A X
B X
B Y
C Y
A X
B Z
C X
C Y
B Y
B Z
C Y
B Z
B Y
C X
A X
B Y
B Z
C Y
A Z
C X
C Z
A X
A Z
A Z
B Z
A Z
B Y
C Y
C Y
B Z
C Y
C Y
C Y
C X
A X
B Y
A X
C X
C Z
B Y
A Z
B Y
C Y
C Y
B Z
C Y
C X
B Z
C Y
B Y
B Z
A Z
B Z
B Z
B Y
A Z
A Y
C X
B Y
A Z
C Y
B Z
A Z
B Y
B Y
C Y
B Y
B Y
B Y
C Y
B X
B Y
A X
A X
B Z
A X
C Y
A Z
B Y
B Y
B Z
A Z
C Y
C X
B Y
A Z
A X
B Y
C X
B Z
A X
C X
B Z
B Z
B Z
B X
A X
C Z
C X
C Z
B X
A Z
C X
B Y
C X
C Y
C Y
B Y
B Z
B Y
C Y
C X
A Z
C Y
C Y
C Y
B Z
A Z
A Y
C X
C Y
B Y
C Y
C Y
B Z
C Y
B Y
B Y
C X
B Z
B Y
A X
B Y
A Z
B Y
C X
B Y
C X
B Y
A Z
C X
B Y
C X
B Z
C X
B Y
A X
C X
C X
A X
C Y
A Z
C Y
B Z
A Z
A X
C X
A X
C Y
A X
A X
B Z
C X
C Y
A Y
B Z
B Y
C Y
B Y
A Y
C Y
C Y
B Y
B Y
B Z
B Z
C X
B Y
C X
A X
A Z
C Y
B Z
C Y
B Y
C X
C X
A Z
B Z
A Z
C X
B Y
B Z
C Y
B Y
A X
A X
B Y
B Y
B Y
A X
B Y
B Z
A Z
A X
A X
B Z
B Y
A X
B Z
A Z
B Y
B Z
B Z
B Z
C Y
C Y
A Z
B Y
C Y
A Z
C X
B Z
A X
B X
B Y
B Y
C Y
C Y
B Z
B Y
A Z
B Y
A X
B Z
B Y
C Z
B Y
B Y
C Y
B Y
B Y
A Y
C Y
A Z
A Y
B Z
C X
B Z
A X
A Z
A X
C Y
A Z
B Y
B Z
B Z
C Y
C Y
C Y
B X
B Y
B Z
A X
B Y
C Y
A X
A X
B Y
C Y
A Y
B Z
B Z
B Z
A Z
B Y
C X
A Z
C Y
C Y
B Y
C Y
C Y
C Y
C Y
B Y
B Z
A Z
B X
C Y
C X
C X
C Y
A Z
C Y
C X
B Z
B Y
A Y
C Z
B Y
B Y
B Y
B Y
C Y
B Y
C Y
A Z
B Y
C X
C Y
B Z
A X
C Y
B Y
B Y
B Y
A Z
A X
A X
C X
C Z
B Z
A X
A Z
A X
A Y
C Y
C Y
A Z
C X
C X
B X
B Y
A X
A Z
A X
C Y
B X
A X
A X
C X
A Y
B Z
A Z
B Y
A X
A Z
B Y
A Z
C Y
B Z
A Z
C Y
C X
B Z
C Y
B Y
C X
A Z
B Z
A X
A X
C Z
A X
C X
B Y
B Z
A X
A X
C Y
A Z
C Y
C X
C Y
B Z
B Y
C X
C X
B Z
B Z
C Y
A X
B X
C X
C Y
A X
A Z
B Y
C X
A Y
C X
C Y
A Z
B Y
B Z
B Y
C X
C Y
C X
C X
B Y
C X
C X
B Y
C Z
C Y
C Y
B Z
B Z
B Y
A X
B Y
A Z
A Y
B Y
C Y
B Z
B Z
A X
B Y
A X
B Y
A Z
B Y
C X
A Z
B Z
C Y
B Y
A Y
A X
C X
A X
B Y
B Z
B Z
C Y
A X
B Y
B Z
B Y
B X
C Z
B Z
C X
C Y
C X
B Z
C Y
A X
A X
C X
B Y
B X
B Y
A X
C Y
A Z
B Y
B Y
B Y
B Z
B Y
C X
A Z
C Y
A Z
B Z
C X
C Y
C X
C Y
A Y
B Z
B Y
B Z
C Y
A X
B Y
A X
C X
B X
C X
A Z
B Z
B Z
C Y
B Z
"""
rps = {
'A' : {'X' : 4, 'Y' : 8, 'Z' : 3},
'B' : {'X' : 1, 'Y' : 5, 'Z' : 9},
'C' : {'X' : 7, 'Y' : 2, 'Z' : 6},
}
win_lose_draw = {
'A' : {'X' : 3, 'Y' : 4, 'Z' : 8},
'B' : {'X' : 1, 'Y' : 5, 'Z' : 9},
'C' : {'X' : 2, 'Y' : 6, 'Z' : 7},
}
sum = 0
sum1 = 0
for i in range(2, len(a), 4):
temp = a[i-2]
sum+=rps[temp][a[i]]
sum1+=win_lose_draw[temp][a[i]]
print(sum)
print(sum1)