結果
問題 |
No.420 mod2漸化式
|
ユーザー |
![]() |
提出日時 | 2016-09-10 00:19:19 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 736 bytes |
コンパイル時間 | 437 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-11-16 19:03:36 |
合計ジャッジ時間 | 2,423 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 34 WA * 1 |
ソースコード
def f(n): if n == 0: return 0 else: return f(n // 2) + (n % 2) def test(n, r): for i in range(n, n + r): print(i, '{0:b}'.format(i).count('1'), f(i)) memo = {} def combi(n, r): if (n, r) in memo: return memo[(n, r)] elif n == 0: return 1 elif r == 0: return 1 elif n == r: return 1 else: x = combi(n - 1, r) + combi(n - 1, r - 1) memo[(n, r)] = x return x x = int(input()) if x == 0: print(1, 0) elif x >= 31: print(0, 0) else: ans_count = combi(31, x) ans_sum = 0 multi = combi(30, x - 1) for i in range(31): t = 1 << i ans_sum += t * multi print(ans_count, ans_sum)