diff options
| author | mhsn <mail@mhsn.net> | 2026-03-18 21:48:13 +0000 |
|---|---|---|
| committer | mhsn <mail@mhsn.net> | 2026-03-18 21:48:13 +0000 |
| commit | 86bac31392a76da84817eec020d2b84d099b3cc1 (patch) | |
| tree | e2ee52db59b86b914d5b4bcceb19c9b5d899fff4 /2024/11/python.py | |
| parent | 62fe361fc42dea75deaf7ac31c0ba6ba80e26a9c (diff) | |
| download | puzzles-86bac31392a76da84817eec020d2b84d099b3cc1.tar.gz puzzles-86bac31392a76da84817eec020d2b84d099b3cc1.zip | |
Diffstat (limited to '2024/11/python.py')
| -rwxr-xr-x | 2024/11/python.py | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/2024/11/python.py b/2024/11/python.py deleted file mode 100755 index 37f658e..0000000 --- a/2024/11/python.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python3 - -from fileinput import input -from functools import cache -from math import floor, log - -stones = [int(x) for x in input().readline().split()] - - -@cache -def blink(s, n): - if n == 0: - return 1 - - if s == 0: - return blink(1, n - 1) - - digits = floor(log(s, 10) + 1e-6) + 1 - if digits % 2 == 0: - left, right = divmod(s, 10 ** (digits // 2)) - return blink(left, n - 1) + blink(right, n - 1) - - return blink(s * 2024, n - 1) - - -silver = sum(blink(s, 25) for s in stones) -gold = sum(blink(s, 75) for s in stones) - -print("silver:", silver) -print("gold:", gold) |
