問題一覧 > 通常問題

No.1354 Sambo's Treasure

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 33
作問者 : PCTprobability / テスター : KoD blackyuki
4 ProblemId : 5761 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2021-05-07 19:38:39

問題文

xy 平面上のとある村に住んでいるサンボ君は、近くにある危険な竹藪へ出かけることにしました。

竹藪は x 座標と y 座標がともに 0 以上 N 以下の場所に広がっています。
サンボ君は、 (x,y) にいるとき、 (x+1,y) または (x,y+1) へ移動することができます。
彼の目標は、 (0,0) からスタートし、 M 個のチェックポイント全てを通り、 (N,N) へ辿り着くことです。
i 個目のチェックポイントは (xci,yci) にあります。

しかし、竹藪での移動は安心して行えるものではありません。 L 体のトラが住んでいるからです。
i 体目のトラは (xti,yti) に潜んでいます。トラがチェックポイントの場所にいないとは限りません。サンボ君がトラと同じ場所へ来てしまうと、トラを怒らせてしまいます。
トラをなだめるためには、サンボ君が持っている装飾品を 1 つ渡す必要があります。装飾品を 1 つも持っていない状態でトラを怒らせてしまうと、彼はトラに食べられてしまいます!

サンボ君は K 個の装飾品を持ってスタートします。トラに食べられることなく、M 個のチェックポイント全てを通り、 (N,N) に辿り着く方法は何通りあるでしょうか?
答えは非常に大きくなることがあるので、 998244353 で割ったあまりを出力してください。

入力

NMLK
xc1yc1
xc2yc2

xcMycM
xt1yt1
xt2yt2

xtLytL
  • 1N2×105
  • 0Mmin(105,N1)
  • 0Lmin(100,(N+1)22)
  • 0K105
  • 0<xci,yci<N
  • xci<xci+1
  • yci<yci+1
  • 0xti,ytiN
  • (xti,yti)(0,0)
  • (xti,yti)(N,N)
  • ij ならば、(xti,yti)(xtj,ytj)
  • 入力は全て整数である。

出力

サンボ君がトラに食べられずに 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もしくは右上の雲マークをクリックしてアカウントを作成してください。