結果

問題 No.2246 1333-like Number
ユーザー Yuu EguciYuu Eguci
提出日時 2023-04-04 18:50:44
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
WA  
実行時間 -
コード長 1,251 bytes
コンパイル時間 182 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-10-01 09:58:59
合計ジャッジ時間 3,293 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 27 ms
11,008 KB
testcase_01 AC 29 ms
11,008 KB
testcase_02 AC 28 ms
11,008 KB
testcase_03 AC 29 ms
11,008 KB
testcase_04 AC 241 ms
12,160 KB
testcase_05 AC 103 ms
12,288 KB
testcase_06 AC 117 ms
12,416 KB
testcase_07 AC 138 ms
12,288 KB
testcase_08 AC 50 ms
12,288 KB
testcase_09 AC 103 ms
12,288 KB
testcase_10 AC 47 ms
12,288 KB
testcase_11 AC 94 ms
12,288 KB
testcase_12 AC 30 ms
11,008 KB
testcase_13 AC 34 ms
11,008 KB
testcase_14 AC 56 ms
12,160 KB
testcase_15 AC 54 ms
12,288 KB
testcase_16 AC 79 ms
12,288 KB
testcase_17 AC 135 ms
12,288 KB
testcase_18 AC 34 ms
11,008 KB
testcase_19 AC 38 ms
11,008 KB
testcase_20 AC 167 ms
12,288 KB
testcase_21 AC 117 ms
12,416 KB
testcase_22 AC 86 ms
12,416 KB
testcase_23 AC 172 ms
12,288 KB
testcase_24 AC 158 ms
12,288 KB
testcase_25 WA -
testcase_26 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
import math

N = int(input())

c, remainder = divmod(N, 36)

# NOTE: dict ではなく list にしたほうがカッコイイけど、
#       余りの値: a, b という対応にしたほうが分かりやすいと思ったので。
a, b = {
    1: (1, 2),
    2: (1, 3),
    3: (1, 4),
    4: (1, 5),
    5: (1, 6),
    6: (1, 7),
    7: (1, 8),
    8: (1, 9),
    9: (2, 3),
    10: (2, 4),
    11: (2, 5),
    12: (2, 6),
    13: (2, 7),
    14: (2, 8),
    15: (2, 9),
    16: (3, 4),
    17: (3, 5),
    18: (3, 6),
    19: (3, 7),
    20: (3, 8),
    21: (3, 9),
    22: (4, 5),
    23: (4, 6),
    24: (4, 7),
    25: (4, 8),
    26: (4, 9),
    27: (5, 6),
    28: (5, 7),
    29: (5, 8),
    30: (5, 9),
    31: (6, 7),
    32: (6, 8),
    33: (6, 9),
    34: (7, 8),
    35: (7, 9),
    0: (8, 9),
}[remainder]


def calculate_answer(a: int, b: int, c: int) -> int:
    x = 10 * a + b
    for _ in range(c):
        x = 10 * x + b
    return x


answer = calculate_answer(a, b, c)
# 最近の Python は、4300桁以降を str 変換できない。
# 桁数を求めて……
digits = math.ceil(math.log10(answer + 1))
if digits >= 4300:
    # ……制限を変更する。
    sys.set_int_max_str_digits(digits)
print(answer)
0