結果
問題 |
No.2230 Good Omen of White Lotus
|
ユーザー |
|
提出日時 | 2023-03-06 00:23:07 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 565 ms / 2,000 ms |
コード長 | 450 bytes |
コンパイル時間 | 313 ms |
コンパイル使用メモリ | 82,456 KB |
実行使用メモリ | 105,028 KB |
最終ジャッジ日時 | 2024-09-18 01:43:37 |
合計ジャッジ時間 | 13,152 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 44 |
ソースコード
from bisect import bisect_right MOD = 998244353 h, w, n, P = map(int, input().split()) xy = [list(map(int, input().split())) for _ in range(n)] xy.sort(key=lambda x:(x[0] << 30) + x[1]) lst = [] for _, y in xy: p = bisect_right(lst, y) if len(lst) == p: lst.append(y) else: lst[p] = y inv = pow(P, MOD - 2, MOD) x = len(lst) y = h + w - 3 - x ans = 1 - pow(1 - inv, y, MOD) * pow(1 - 2 * inv, x, MOD) print(ans % MOD)