Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def decipher(secret_code:str, cipher:str):
- # Parse cipher to dictionary(letter: code)
- code_map = {}
- for char in cipher:
- if char.isalpha():
- code_map[char] = ""
- prev_key = char
- else:
- code_map[prev_key] += char
- # Recursive function
- def backtrack(index, current_message):
- if index == len(secret_code):
- results.append(current_message)
- return
- for letter, code in code_map.items():
- if secret_code.startswith(code, index):
- backtrack(index + len(code), current_message + letter)
- results = []
- backtrack(0, '')
- results.sort()
- return results
- secret_code = input()
- cipher = input()
- decoded_messages = decipher(secret_code, cipher)
- print(len(decoded_messages))
- for message in decoded_messages: print(message)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement