Compare commits
2 Commits
369ecff5e3
...
34a5590ed1
| Author | SHA1 | Date | |
|---|---|---|---|
| 34a5590ed1 | |||
| 38c3a864ef |
23
drmmessages.py
Normal file
23
drmmessages.py
Normal 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
8
encodedmessage.py
Normal 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()))
|
||||
Reference in New Issue
Block a user