結果

問題 No.420 mod2漸化式
ユーザー None
提出日時 2021-03-13 18:56:55
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 47 ms / 1,000 ms
コード長 852 bytes
コンパイル時間 469 ms
コンパイル使用メモリ 81,956 KB
実行使用メモリ 55,424 KB
最終ジャッジ日時 2024-10-15 09:18:37
合計ジャッジ時間 3,066 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 35
権限があれば一括ダウンロードができます

ソースコード

diff #

def combination(n, r, MOD=10**9+7):
    """ O(r) """
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD

def combination2(n, r):
    """ O(r) """
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y, range(1, r + 1), 1)
    return numerator // denominator


##############################################################################################
import sys
input = sys.stdin.readline
from functools import reduce

x=int(input())

S=combination2(31,x)
T=0
C=combination2(30,x-1)
for i in range(31):
    T+=C*(1<<i)
print(S,T)
0