結果

問題 No.420 mod2漸化式
ユーザー flippergo
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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])
0