問題一覧 > 通常問題

No.2572 Midori on the grid

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 20
作問者 : ragnaragna / テスター : deuteridayodeuteridayo 👑 AngrySadEightAngrySadEight kusirakusirakusirakusira MagentorMagentor aplysiaSheepaplysiaSheep けんぴんけんぴん
1 ProblemId : 10312 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-12-01 12:58:32

問題文

平面上に格子点 $(X,Y)$ $(0 \leq X \leq H,0 \leq Y \leq W)$ があり、隣り合う格子点同士は辺でつながれています。
みどりさんは点 $(0,0)$ にいて、辺に沿って移動して最短距離で点 $(H,W)$ に行きたいです。
$Q$ 個の整数 $t_i$ $(1 \leq i \leq Q)$ が与えられるので、みどりさんが通る経路の選び方のうち、各直線 $y=x+t_i$ 上の点を通らない経路の選び方を求めてください。
ただし、答えは非常に大きくなる可能性があるため $998244353$ で割った余りを出力してください。

格子点が隣り合っているとは

格子点 $(A,B)$ と $(C,D)$ が隣り合っているとは $\min (|A-C|,|B-D|)=0$ かつ $\max (|A-C|,|B-D|)=1$ が成り立つことを指します。
例えば、 $(1,1)$ と隣り合っている格子点は $(0,1),(1,0),(2,1),(1,2)$ の$4$つです。

制約

  • $ 1 \leq H,W \leq 10^5$
  • $ 1 \leq Q \leq 10^6$
  • $ -10^6 \leq t_i \leq 10^6 $
  • 直線 $y=x+t_i$ は点 $(0,0)$ も点 $(H,W)$ も通らない
  • 入力はすべて整数である

入力

$H$ $W$ $Q$
$t_1$
$t_2$
$\vdots$
$t_Q$

出力

$Q$ 行出力してください。 $i$ 行目 $(1 \leq i \leq Q)$ には $t_i$ に対する答えを出力してください。

サンプル

サンプル1
入力
2 1 1
1
出力
2

点 $(0,1)$ が通れないため、

  • $(0,0)$ → $(1,0)$ → $(2,0)$ → $(2,1)$
  • $(0,0)$ → $(1,0)$ → $(1,1)$ → $(2,1)$
の $2$ 通りの経路が考えられます。

サンプル2
入力
200 100 5
24
129
-35
63
100
出力
481605547
514334971
0
19509670
514334970

$998244353$ で割った余りを出力することに気を付けてください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。