結果
| 問題 |
No.2141 Enumeratest
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-01-23 01:07:37 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 51 ms / 2,000 ms |
| コード長 | 734 bytes |
| コンパイル時間 | 205 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 57,856 KB |
| 最終ジャッジ日時 | 2024-09-28 06:33:33 |
| 合計ジャッジ時間 | 2,650 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 34 |
ソースコード
## https://yukicoder.me/problems/no/2141
MOD = 998244353
def main():
N, M = map(int, input().split())
answer1 = 1
for i in range(1, M + 1):
answer1 *= i
answer1 %= MOD
a1 = M // N
a2 = M - a1 * N
# a1 + 1個 a2個の箱に入れる.のこりのN - a2箱はa1個の箱に入れる
answer2 = 1
for i in range(1, a1 + 1):
answer2 *= i
answer2 %= MOD
answer3 = (answer2 * (a1 + 1)) % MOD
if a2 == 0:
answer4 = pow(answer2, N, MOD)
else:
answer4 = (pow(answer2, N - a2, MOD) * pow(answer3, a2, MOD)) % MOD
answer = (answer1 * pow(answer4, MOD - 2, MOD)) % MOD
print(answer)
if __name__ == '__main__':
main()