結果
| 問題 |
No.2023 Tiling is Fun
|
| コンテスト | |
| ユーザー |
Eguy
|
| 提出日時 | 2022-07-29 22:03:10 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 58 ms / 2,000 ms |
| コード長 | 838 bytes |
| コンパイル時間 | 223 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 61,440 KB |
| 最終ジャッジ日時 | 2024-07-19 14:48:10 |
| 合計ジャッジ時間 | 1,985 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 18 |
ソースコード
import sys, math
sys.setrecursionlimit(1000000)
INF = 1 << 100
#mod = 1000000007
mod = 998244353
input = lambda: sys.stdin.readline().rstrip()
li = lambda: list(map(int, input().split()))
def enumfif(n, mod):
f = [0] * (n+1)
invf = [0] * (n+1)
f[0] = 1
for i in range(1, n+1):
f[i] = f[i-1] * i % mod
a = f[n]
b = mod
p, q = 1, 0
while b > 0:
c = a//b
d = a; a = b; b = d % b
d = p; p = q; q = d-c*q
invf[n] = p + mod if p < 0 else p
for i in range(n-1,-1,-1):
invf[i] = invf[i+1] * (i+1) % mod
return f, invf
fif = enumfif(2*(10**5)+5, mod)
def C(n, r):
if n < 0 or r < 0 or r > n:
return 0
return fif[0][n] * fif[1][r] * fif[1][n-r] % mod
def P(n, r):
return fif[0][n] * fif[1][n-r] % mod
A, B = li()
print(C(A+B - 2, A-1))
Eguy