No.1354 Sambo's Treasure
タグ : / 解いたユーザー数 32
作問者 : PCTprobability / テスター : KoD blackyuki
問題文
$xy$ 平面上のとある村に住んでいるサンボ君は、近くにある危険な竹藪へ出かけることにしました。
竹藪は $x$ 座標と $y$ 座標がともに $0$ 以上 $N$ 以下の場所に広がっています。
サンボ君は、 $(x, y)$ にいるとき、 $(x + 1, y)$ または $(x, y + 1)$ へ移動することができます。
彼の目標は、 $(0, 0)$ からスタートし、 $M$ 個のチェックポイント全てを通り、 $(N, N)$ へ辿り着くことです。
$i$ 個目のチェックポイントは $(xc_i, yc_i)$ にあります。
しかし、竹藪での移動は安心して行えるものではありません。 $L$ 体のトラが住んでいるからです。
$i$ 体目のトラは $(xt_i, yt_i)$ に潜んでいます。トラがチェックポイントの場所にいないとは限りません。サンボ君がトラと同じ場所へ来てしまうと、トラを怒らせてしまいます。
トラをなだめるためには、サンボ君が持っている装飾品を $1$ つ渡す必要があります。装飾品を $1$ つも持っていない状態でトラを怒らせてしまうと、彼はトラに食べられてしまいます!
サンボ君は $K$ 個の装飾品を持ってスタートします。トラに食べられることなく、$M$ 個のチェックポイント全てを通り、 $(N, N)$ に辿り着く方法は何通りあるでしょうか?
答えは非常に大きくなることがあるので、 $998244353$ で割ったあまりを出力してください。
入力
$N \,\, M \,\, L \,\, K$ $xc_1 \,\, yc_1$ $xc_2 \,\, yc_2$ $\vdots$ $xc_M \,\, yc_M$ $xt_1 \,\, yt_1$ $xt_2 \,\, yt_2$ $\vdots$ $xt_L \,\, yt_L$
- $1 \leq N \leq 2×10^5$
- $0 \leq M \leq \min \left(10^5,N-1 \right)$
- $0 \leq L \leq \min \left(100, (N+1)^2 - 2 \right)$
- $0 \leq K \leq 10^5$
- $0 < xc_i,yc_i < N$
- $xc_i < xc_{i+1}$
- $yc_i < yc_{i+1}$
- $0 \leq xt_i,yt_i \leq N$
- $(xt_i,yt_i) \neq (0,0)$
- $(xt_i,yt_i) \neq (N,N)$
- $i \neq j$ ならば、$(xt_i,yt_i) \neq (xt_j,yt_j)$
- 入力は全て整数である。
出力
サンボ君がトラに食べられずに $M$ 個のチェックポイント全てを通り、 $(N, N)$ に辿り着く方法の総数を $998244353$ で割ったあまりを一行に出力してください。最後に改行してください。
サンプル
サンプル1
入力
3 1 1 0 1 1 2 2
出力
4
サンボ君は $(1,1)$ を経由して $(3,3)$ に向かう必要があります。
しかし、所持している装飾品は $0$ 個であるので、トラのいる $(2,2)$ を避けて進む必要があります。
このような移動方法は $4$ 通りあります。
サンプル2
入力
3 2 7 6 1 1 2 2 3 1 2 0 2 1 3 2 3 0 1 0 0 2
出力
8
トラが沢山います。非常に危険です。
サンプル3
入力
100 5 5 3 20 21 30 26 49 70 80 74 90 90 84 81 10 14 50 71 51 74 25 25
出力
131095149$998244353$ で割った余りを求めてください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。