Advertisement
ExtremerBG

Telerik Cipher Task

Mar 10th, 2025 (edited)
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.90 KB | Source Code | 0 0
  1. def decipher(secret_code:str, cipher:str):
  2.    
  3.     # Parse cipher to dictionary(letter: code)
  4.     code_map = {}
  5.     for char in cipher:
  6.        
  7.         if char.isalpha():
  8.             code_map[char] = ""
  9.             prev_key = char
  10.         else:
  11.             code_map[prev_key] += char
  12.  
  13.     # Recursive function
  14.     def backtrack(index, current_message):
  15.        
  16.         if index == len(secret_code):
  17.             results.append(current_message)
  18.             return
  19.        
  20.         for letter, code in code_map.items():
  21.             if secret_code.startswith(code, index):
  22.                 backtrack(index + len(code), current_message + letter)
  23.  
  24.     results = []
  25.     backtrack(0, '')
  26.  
  27.     results.sort()
  28.     return results
  29.  
  30. secret_code = input()
  31. cipher = input()
  32.  
  33. decoded_messages = decipher(secret_code, cipher)
  34. print(len(decoded_messages))
  35. for message in decoded_messages: print(message)
  36.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement