Compare commits

..

2 Commits

Author SHA1 Message Date
34a5590ed1 DRM Messages 2023-07-03 21:19:52 +02:00
38c3a864ef Encoded Message 2023-07-03 20:59:24 +02:00
2 changed files with 31 additions and 0 deletions

23
drmmessages.py Normal file
View File

@@ -0,0 +1,23 @@
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()))

8
encodedmessage.py Normal file
View File

@@ -0,0 +1,8 @@
def decode(s: str) -> str:
w = int(len(s) ** 0.5)
return "".join([s[v * w + h] for h in range(w) for v in range(w - 1, -1, -1)][::-1])
n = int(input())
for _ in range(n):
print(decode(input()))