結果
| 問題 | No.3476 {2^n-1}-gon |
| コンテスト | |
| ユーザー |
AwashAmityOak
|
| 提出日時 | 2026-03-20 21:56:30 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 34 ms / 2,000 ms |
| コード長 | 618 bytes |
| 記録 | |
| コンパイル時間 | 203 ms |
| コンパイル使用メモリ | 85,328 KB |
| 実行使用メモリ | 60,736 KB |
| 最終ジャッジ日時 | 2026-03-20 21:56:37 |
| 合計ジャッジ時間 | 1,395 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 18 |
ソースコード
N, M = map(int, input().split()) MOD = 998244353 if 60 <= N or M <= (1 << (N-1)): a, b = 1, 1 k = (pow(2, N, MOD) - 2) % MOD l = (pow(2, N-1, MOD) - 1) % MOD m = 1 for i in range(1, M): a *= k a %= MOD k -= 1 k %= MOD b *= l b %= MOD l -= 1 l %= MOD m *= i m %= MOD a *= pow(M, -1, MOD) b %= MOD ans = (a - b) % MOD ans *= pow(2, N, MOD) - 1 ans %= MOD ans *= pow(m, -1, MOD) ans %= MOD print(ans) else: ans = 1 a, b = pow(2, N, MOD)-1, 1 for i in range(1, M+1): ans *= a ans %= MOD a -= 1 a %= MOD b *= i b %= MOD print((ans * pow(b, -1, MOD)) % MOD)
AwashAmityOak