結果
問題 | No.1186 長方形の敷き詰め |
ユーザー | tonnnura172 |
提出日時 | 2020-10-21 03:54:11 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 1,627 ms / 2,000 ms |
コード長 | 1,281 bytes |
コンパイル時間 | 355 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 121,296 KB |
最終ジャッジ日時 | 2024-09-26 02:57:38 |
合計ジャッジ時間 | 33,648 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1,219 ms
121,036 KB |
testcase_01 | AC | 1,179 ms
121,164 KB |
testcase_02 | AC | 1,183 ms
121,296 KB |
testcase_03 | AC | 1,151 ms
121,160 KB |
testcase_04 | AC | 1,163 ms
121,296 KB |
testcase_05 | AC | 1,172 ms
121,292 KB |
testcase_06 | AC | 1,172 ms
121,032 KB |
testcase_07 | AC | 1,185 ms
121,292 KB |
testcase_08 | AC | 477 ms
44,236 KB |
testcase_09 | AC | 486 ms
44,428 KB |
testcase_10 | AC | 486 ms
43,980 KB |
testcase_11 | AC | 1,158 ms
121,164 KB |
testcase_12 | AC | 1,171 ms
121,036 KB |
testcase_13 | AC | 1,148 ms
121,288 KB |
testcase_14 | AC | 1,168 ms
121,296 KB |
testcase_15 | AC | 1,171 ms
121,168 KB |
testcase_16 | AC | 1,154 ms
121,164 KB |
testcase_17 | AC | 1,199 ms
121,168 KB |
testcase_18 | AC | 1,198 ms
120,908 KB |
testcase_19 | AC | 1,178 ms
121,168 KB |
testcase_20 | AC | 1,179 ms
121,032 KB |
testcase_21 | AC | 1,153 ms
121,040 KB |
testcase_22 | AC | 1,627 ms
121,036 KB |
testcase_23 | AC | 1,187 ms
121,164 KB |
testcase_24 | AC | 1,156 ms
121,032 KB |
testcase_25 | AC | 1,138 ms
121,040 KB |
testcase_26 | AC | 1,185 ms
121,040 KB |
ソースコード
import sys, re from collections import deque, defaultdict, Counter from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians, gcd, log2 from itertools import accumulate, permutations, combinations, product from operator import itemgetter, mul, add from copy import deepcopy from string import ascii_lowercase, ascii_uppercase, digits from bisect import bisect, bisect_left from heapq import heappush, heappop from functools import reduce, lru_cache import numpy as np def input(): return sys.stdin.buffer.readline()[:-1] def INT(): return int(input()) def MAP(): return map(int, input().split()) def LIST(): return list(map(int, input().split())) def ZIP(n): return zip(*(MAP() for _ in range(n))) sys.setrecursionlimit(10 ** 9) INF = float('inf') mod = 998244353 N, M = MAP() if N == 1: print(1) exit() lim = 10**6 # 必要そうな階乗の限界を入れる fact = [1] * (lim+1) fact_inv = [1] * (lim+1) for n in range(1, lim+1): fact[n] = (fact[n-1] * n) % mod fact_inv[lim] = pow(fact[lim], mod-2, mod) for n in range(lim, 0, -1): fact_inv[n-1] = (n * fact_inv[n]) % mod def C(n, r): return (((fact[n] * fact_inv[r]) % mod) * fact_inv[n-r]) % mod ans = 0 for i in range(M//N+1): j = M-N*i ans += C(i+j, i) ans %= mod print(ans)