結果
問題 | No.757 チャンパーノウン定数 (2) |
ユーザー |
|
提出日時 | 2018-12-05 15:38:34 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,421 ms / 2,000 ms |
コード長 | 894 bytes |
コンパイル時間 | 90 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 23,244 KB |
最終ジャッジ日時 | 2024-07-19 04:25:30 |
合計ジャッジ時間 | 20,820 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 51 |
ソースコード
#!/usr/bin/env python3def solve(b, d):# find kd = list(map(int, reversed(d))) + [ 0 ] * 10k = 1while True:preserved = { i: d[i] for i in [ k - 1, k ] }d[k - 1] += kd[k] -= kfor i in range(k - 1, len(d) - 1):if i >= k and 0 <= d[i] < b:breakelse:if i >= k:preserved[i + 1] = d[i + 1]d[i + 1] += d[i] // bd[i] %= belse:for i, d_i in preserved.items():d[i] = d_ibreakk += 1# decode d to ints = dd = 0for c in reversed(s):d = b * d + c# remaining partd -= 1d1 = (k - 1 - d) % kreturn (d1 == k - 1) + (d // (b ** d1 * k)) % bif __name__ == '__main__':b = int(input())d = input()print(solve(b, d))