結果
問題 | No.420 mod2漸化式 |
ユーザー |
|
提出日時 | 2025-04-30 18:47:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 45 ms / 1,000 ms |
コード長 | 509 bytes |
コンパイル時間 | 334 ms |
コンパイル使用メモリ | 82,220 KB |
実行使用メモリ | 54,756 KB |
最終ジャッジ日時 | 2025-04-30 18:47:13 |
合計ジャッジ時間 | 3,467 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 35 |
ソースコード
memo = {} def comb(n,k): if k<0 or k>n:return 0 if k==0 or k==n:return 1 if (n,k) in memo:return memo[(n,k)] memo[(n,k)] = comb(n-1,k-1)+comb(n-1,k) return memo[(n,k)] dp = [[0 for _ in range(32)] for _ in range(32)] for m in range(1,31+1): dp[m][1] = pow(2,m)-1 dp[m][m] = pow(2,m)-1 for m in range(3,31+1): for n in range(2,m): dp[m][n] = dp[m-1][n]+dp[m-1][n-1]+pow(2,m-1)*comb(m-1,n-1) x = int(input()) if x>31: print(0,0) else: print(comb(31,x),dp[31][x])