fork download
  1. def count_decodings(digits: str) -> int:
  2. n = len(digits)
  3. if n == 0 or digits[0] == '0':
  4. return 0
  5. dp = [0] * (n + 1)
  6. dp[0] = 1
  7. dp[1] = 1
  8. for i in range(2, n + 1):
  9. one_digit = int(digits[i-1:i])
  10. if 1 <= one_digit <= 9:
  11. dp[i] += dp[i-1]
  12. two_digits = int(digits[i-2:i])
  13. if 10 <= two_digits <= 26:
  14. dp[i] += dp[i-2]
  15. if dp[i] == 0:
  16. return 0
  17. return dp[n]
  18. print(f"\"Результат\": {count_decodings('123123')}")
Success #stdin #stdout 0.13s 14076KB
stdin
Standard input is empty
stdout
"Результат": 9