Files
kattis/drmmessages.py
2023-07-03 21:19:52 +02:00

24 lines
624 B
Python

def sumOfValuesOfCharacters(s: str) -> int:
return sum([ord(c) - 65 for c in s])
def rotateString(s: str, r: int) -> str:
return "".join([chr(((ord(c) - 65 + r) % 26) + 65) for c in s])
def mergeStrings(a: str, b: str) -> str:
return "".join(
[rotateString(ca, sumOfValuesOfCharacters(cb)) for ca, cb in zip(a, b)]
)
def decrypt(drmmessage):
half = len(drmmessage) // 2
a, b = drmmessage[:half], drmmessage[half:]
rota = rotateString(a, sumOfValuesOfCharacters(a))
rotb = rotateString(b, sumOfValuesOfCharacters(b))
return mergeStrings(rota, rotb)
print(decrypt(input()))